美文网首页
Celery使用

Celery使用

作者: 土986885 | 来源:发表于2020-02-28 21:09 被阅读0次

1,非阻塞执行

安装我在项目中使用的Django 1.8.2 安装了最新的celery4.4.0发现会报如下错误

​raise ImproperlyConfigured('Celery 4.x requires Django 1.11 or later.')
​celery.exceptions.ImproperlyConfigured: Celery 4.x requires Django 1.11 or later.

csdn道友已趟过这个坑,原文链接 https://blog.csdn.net/weixin_42702917/article/details/104250199

Django1.8.2安装celery4.1.1使用

​pip install celery==4.1.1

2 ,启动worker 并非启动Django项目 而是启动celery服务

客户端(项目代码) ,broker(使用redis),worker是可以在同一台电脑上的

这里以在同一台电脑上为例启动worker

(1)先把项目文件拷贝一份放到桌面或者是别的虚拟环境下

(2)worker端需要在task.py文件下导入系统配置变量

​# 在任务处理者一端去加这段代码 任务发出者不需要加
import os
import django
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dailyfresh.settings')
django.setup()

(3)cd 进入桌面项目文件夹下

(4)workon 虚拟环境 这个虚拟环境需要安装了 celery

(5)执行下面代码开启worker

​celery -A celery_tasks.tasks worker -l info  

2,如果执行上面的代码, 报错 Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients.

解决:

打开文件编辑

redis配置文件目录.png
  • 注释掉绑定ip# bind 127.0.0.1
  • Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程,设置为no
    daemonize no
  • 保护模式,关闭保护模式,否则外部ip无法连接
    protected-mode no
ps -ef |grep redis

如果存在 杀死进程 重启

3,使用Django-Redis

使用最新的版本不可用 django-redis-4.11.0需要使用

相关文章

网友评论

      本文标题:Celery使用

      本文链接:https://www.haomeiwen.com/subject/eaqlhhtx.html