2

すべての 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_IMPORTS = ("proj.app_cant_find_tasks.tasks",)

これらのアプリは私にとって完全に似ています。セロリが 1 つのアプリからのみタスクを自動検出できる理由がわかりません。質問は、問題を解決するためにどこを見ればよいですか?

4

1 に答える 1