我对所有 y 应用程序的自动发现任务都有疑问。
对于项目
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 可以从中找到任务CELERY_IMPORTS = ("proj.app_cant_find_tasks.tasks",)
这些应用程序对我来说完全相似。我不明白为什么 celery 只能从一个应用程序自动发现任务。问题是,我应该在哪里解决我的问题?