django celery 定时任务没有执行 看日志 报错
The full contents of the message body was:
b'[[], {}, {"callbacks": null, "errbacks": null, "chain": null, "chord": null}]' (77b)
Traceback (most recent call last):
File "/root/.virtualenvs/lease/lib/python3.6/site-packages/celery/worker/consumer/consumer.py", line 559, in on_task_received
strategy = strategies[type_]
KeyError: 'apps.orders.tasks.ceshi'
这是因为找不到 apps.orders.tasks.ceshi
目前文件夹结构是 我把所有的app 都放到了 apps 文件夹中
Django settings中的配置是
修改的方法有两种
方法一:settings 中的配置不变 修改装饰器 指定名称 name
@app.task(name="apps.orders.tasks.ceshi1")
# @app.task 原来的
@app.task(name="apps.orders.tasks.ceshi1")
def ceshi1(stat="celery",image_uuid="44444444444444566"):
dd = datetime.datetime.now()
print(dd)
方法2 装饰器不变 修改 settings 中的配置 去掉apps
CELERY_BEAT_SCHEDULE = {
u'测试数据': {
"task": "orders.tasks.ceshi1",
"schedule": crontab(minute="*/1"),
"args": ("1111111111111111",),
},}
# apps.orders.tasks.py 中不变
@app.task
def ceshi1(stat="celery",image_uuid="44444444444444566"):
dd = datetime.datetime.now()
print(dd)
from users.models import ImageCode