关于 Celery 提示任务未注册的解决办法
问题描述
今天工作中碰到了这个问题。抽空记录一下。在用 celery.task
装饰器装饰了定时任务的方法后,启动 worker
进程在任务列表中找不到新增的任务。并且在执行任务时报错,信息如下:
[2018-05-31 15:57:52,340: INFO/MainProcess] celery@worker-00 ready. |
主要原因
经过分析主要原因是新增的定时任务没有加载至内存中。之前自己写的其他 Celery
任务没有出现这些问题是因为在某个地方导入并调用过。而这次新增的定时任务是写在新建的 .py
文件中,且没有在其他地方 import
过。所以任务在执行时会提示该任务未注册。
解决办法
在 Django 中只要在配置文件中加入以下参数即可解决。
# Celery |