celery报错Did you remember to import the module containing this task?

报错:

Did you remember to import the module containing this task?
Or maybe you're using relative imports?

Please see
http://docs.celeryq.org/en/latest/internals/protocol.html
for more information.

The full contents of the message body was:
b'[[], {}, {"callbacks": null, "errbacks": null, "chain": null, "chord": null}]' (77b)
Traceback (most recent call last):
  File "d:\venv\lib\site-packages\celery\worker\consumer\consumer.py", line 555, in on_task_received
    strategy = strategies[type_]
KeyError: 'terminal.tasks.add_order_and_other'

报这个错的原因是没有找到任务,要想让celery找到任务有两种方法
1.首先这里使用的是django+celery并不是djcelery。在settings同级下的view视图函数中导入tasks.py中的所有任务
from .task import add_data, add_course, add_order_and_other
(仅导入就行)(此法不建议使用,因为有点歪门邪道的感觉 哈哈哈哈)
2.在celery.py中添加app.autodiscover_tasks([‘terminal.tasks’]),terminal.tasks是任务文件所在的位置。

Tips:现在启动celery后如果关闭对应窗口celery定时任务会停止
使用celery multi start w1 -A 项目名 -B 启动celery后关闭窗口任务也不会停止定时任务,同时使用这个命令启动也不用在单独启动beat。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值