我遇到了来自所有应用的自动发现任务的问题。
对于项目
proj
|-- settings.py
|-- app_tasks_found
| |-- tasks.py
|
|-- app_cant_find_tasks
| |-- tasks.py
以下设置
INSTALLED_APPS = [
'proj.app_tasks_found',
'proj.app_cant_find_tasks',
]
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proj.settings')
from django.conf import settings
app = Celery('proj')
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
我开始芹菜工作者之后
celery worker -l info -A proj
它仅显示来自app_tasks_found
的任务,但不显示来自app_cant_find_tasks
当我尝试调用任务app_cant_find_tasks.tasks.test_task.delay()
如果我明确设置app_cant_find_tasks
CELERY_IMPORTS = ("proj.app_cant_find_tasks.tasks",)
找到任务
这些应用对我来说完全相似。我不明白为什么芹菜只能从一个应用程序自动发现任务。 问题是,我应该在哪里解决我的问题?
答案 0 :(得分:2)
我遇到了类似的问题,在我的情况下问题是我错过了其中一个应用中的 init .py文件。