问题描述:
有多个任务需要时使用Celery目录结构,在程序启动之后,任务列表里面没有任务显示,而且程序收到任务之后,报错:Received unregistered task of type ‘***.tasks.sms.task_sms.send_template_sms’.具体如下图:
下面是我的项目目录文件:
问题分析:
以上报错信息大致意思是说你的任务还没有注册,根据此条信息我们先看下我们的任务注册文件有没有注册任务:
可以看到任务是已注册的,但是程序启动之后一直没有找到。
问题解决:
网上查了很多,都没有具体的解决方法,大多只是分析了一下,有点模棱两可的,对新接触的人不太友好。下面是我的解决方法:
1、先检查sms/task_sms.py
文件,检查定义任务的装饰器后面的方法是不是task
,不要粗心写成 tasks
;
2、注册任务的文件路径写的再具体点,具体到文件路径:
重新启动Celery试试:
任务列表里面已经出现注册任务了,再试试生产消费任务:
好了,任务正常执行,完美!!!