【原创】Django-Celery后台任务丢失

发布于 2019-11-11  142 次阅读


环境:

Django=1.11
redis=2.10.6
开发工具:
Pycharm

问题:

celery 日志报错:

现象一:

[consumer:on_unknown_task] [ERROR]- Received unregistered task of type

现象二:

Django 的Admin后台任务中心,不显示已经添加的任务。

分析:

从报错已经能够看到提示,说是没有找到注册的任务。

定位问题:

今天改了Django的"INSTALLED_APPS"中app的名字,由原来的"demo"改为了“Demo.config.DataConfig”

解决办法:

把此处修改改为回来就好了。

原因:

因Djang-celery的配置celery.py中,配置有app.autodiscover_tasks(lambda: settings.INSTALLED_APPS),意思是在INSTALLED_APPS”中配置的App下,查找所有的tasks.py,然后加载所有的task。

补充内容:

Mac OS安装Brew:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Mac OS安装redis:

安装好Brew后,直接执行:
brew install redis