跟着老师好好一点一点来吧
你先看一下导出的那儿,导出的方式是怎么样了,要对应导出与导入的方法
是不是没有设置
CELERY_IMPORTS
web后端也要先接收前端的websocket,然后发送给celery。跟在django接受http请求类似。
我也碰到这个问题,因为redis的版本以及celery的版本过高,换一个较低的版本就行了,如安装redis==2.10.6,celery==3.1.25就可以
error:之前启动的进程还没有彻底关掉,需要kill Error: Cannot open an HTTP server: socket.error reported errno.EADDRNOTAVAIL (99)
包的名字写错了
任务过期应该是指过了十秒,这个任务被过期了,不参与调度了,但是第一秒已经调用了你的任务,你任务执行1一个小时应该也会成功吧?还是说你的任务第一次被执行成功了,第二次仍然被执行成功?
是这样的
不知道老师有没有其他解决方案。还望得到回复。
需要主动执行app文件
celery -B -A celery_app worker -l INFO
都可以试试这个解决方法:
找到python安装库的位置,找到该文件 \lib\site-packages\djcelery\management\commands\celery.py。在文件中注释掉如下代码:
# options = (cc_options + # base_options + # preload_options)
在设置地址的地方去改
Celery 4.0支持Django 1.8及更新版本。 请将Celery 3.1用于早于Django 1.8的版本。
celery 3.1 只支持diango1.8 及以下版本。
高版本对应高版本是没问题的
这个flower的解释有问题,没有定义好
本来就是不一样的呀。
同问这个问题 有没有可以解决的办法
result = add.delay(1,2)
具体怎么解决我也不知道,但是可以换一下环境,比如djcelery,celery,python,django,redis这些都是有关系的。