• pythondjangocelery的安装和配置_20191122


    celery的介绍

    celery有三个核心的概念:

    • 任务的发出者(需要发邮件的一方),我们项目的代码就相当于发出者,
    • 中间是一个任务队列(中间人broker),这里我们使用Redis来承担任务队列的作用
    • 任务的处理者(就是帮助发邮件的这就是worker),

    逻辑:

    • 首先任务发出者,发出任务之后,不能直接告诉任务的处理者,要先到任务队列,
    • 任务的处理者会监听任务队列,有的话就执行,
    • celery本身是没有提供任务队列的功能的,需要借助一个rabbitMQ数据库,或者Redis,都是可以作为中间人的,这里我们使用Redis来承担任务队列的作用,
    • 这样的设计就不会阻塞了,

    安装celery,

    • pip install celery
    • 安装redis:pip install redis  验证redis是否安装成功,在cmd窗口输入python命令之后再输入import redis,如果没有出现模块不存在则表示安装成功。

    怎么使用celery?

    • 在项目目录下新建一个包,celery_tasks,新建一个文件,tasks.py,,
    • 我的处理者是在虚拟机的Linux上面,
    • 在这个地方启动任务,还需要把项目代码也放到上面去,
    • 并且需要在虚拟机上也要安装celery,然后才能启动,
    • 1,workon lq_py3(虚拟环境名称)这就是进入虚拟环境工作了,
    • 2,pip freeze,查看虚拟环境下面安装了那些包
    • 3,pip install celery,安装celery
    • 安装django1.11     pip install django==1.11.7 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
    • 启动命令,在进入项目里面,cd ~/桌面/dailyfresh/
    • 然后执行:celery -A celery_tasks.tasks worker -l info

     ##################################

    报错信息:Error: Unable to load celery application.

    第一步:检查redis有没有启动:

    sudo redis-server /etc/redis/redis.conf,启动服务,

     ps aux | grep redis,查看是否服务启动

    redis-cli -h 192.168.100.128,启动客户端,

    AUTH ### 设置密码,

    现在报了另一个错误了:ImportError: No module named 'django_redis'

    第二步:安装

    进入虚拟环境,workon lq_py3

    pip install django-redis

    pip freeze ,查看是否安装了,

    安装好了,再次执行:celery -A celery_tasks.tasks worker -l info

    报错了:ERROR/MainProcess] consumer: Cannot connect to redis://:**@192.168.80.129:6379/8: Error 111 connecting to 192.168.80.129:6379. Connection refused.

    需要修改一下redis的配置,

    第三步,修改celery的配置信息,

    在task里面,ip错误了,还是因为虚拟机的ip变动的问题,

  • 相关阅读:
    读后感
    每日总结
    融e学 一个专注于重构知识,培养复合型人才的平台【获取考试答案_破解】
    营销经验总结:如何才能提升h5游戏代入感?
    在通过《令人心动的offer》中,掌握学到的公司选择企业邮箱3大技巧!
    2020年的最后一个月来了!TOM 企业邮箱陪伴您度过!
    用户主动分享h5游戏的4大理由
    企业邮箱的作用是什么?企业邮箱有什么用处?
    电子邮箱系统哪家好?邮箱登陆入口是?
    专业外贸企业邮箱,企业邮箱退信怎么办?
  • 原文地址:https://www.cnblogs.com/andy0816/p/11912326.html
Copyright © 2020-2023  润新知