CELERY_ROUTESはCELERY_TASK_ROUTESである必要があります
http://docs.celeryproject.org/en/latest/userguide/configuration.html
それを理解する前に数時間を費やしました:(
同じことがCELERY_QUEUESにも当てはまると思います
提案された編集でPRを送ってもらえますか?
これはhttps://github.com/celery/celery/pull/4510に関連しています
ドキュメントは実際には正しいですが、その理由を理解するのに少し時間がかかりました。他の人に役立つ場合に備えて説明します。
CELERY_ROUTES
は古いセロリ設定名で、現在はtask_routes
に置き換えられています。 ただし、_Django_設定ファイルでCelery設定を指定する場合は、Djangoドキュメントで要求されているように大文字にする必要があります。 これは、Django設定ファイルにTASK_ROUTES
を追加することを意味しますが、他のdjango設定との競合を避けるために、セロリ設定の前にCELERY_
を付けることをお勧めします。これにより、たとえばCELERY_TASK_ROUTES
が追加されます。
app.config_from_object('django.conf:settings', namespace='CELERY')
これにより、CeleryはCELERY_TASK_ROUTES
を取得し、名前空間プレフィックスを削除してTASK_ROUTES
を取得し、小文字でtask_routes
を取得します。 その結果、新しい名前でセロリの設定が設定されます。
要約すれば:
CELERY_ROUTES
は古いセロリの設定名ですCELERY_TASK_ROUTES
は、新しい設定名の大文字の接頭辞付きの変更であり、Django設定ファイルから新しい設定名を設定するために一般的に使用されます。お役に立てば幸いです。
(このスタックオーバーフローの回答に関する私の短いコメントに基づく)
最も参考になるコメント
ドキュメントは実際には正しいですが、その理由を理解するのに少し時間がかかりました。他の人に役立つ場合に備えて説明します。
CELERY_ROUTES
は古いセロリ設定名で、現在はtask_routes
に置き換えられています。 ただし、_Django_設定ファイルでCelery設定を指定する場合は、Djangoドキュメントで要求されているように大文字にする必要があります。 これは、Django設定ファイルにTASK_ROUTES
を追加することを意味しますが、他のdjango設定との競合を避けるために、セロリ設定の前にCELERY_
を付けることをお勧めします。これにより、たとえばCELERY_TASK_ROUTES
が追加されます。これにより、Celeryは
CELERY_TASK_ROUTES
を取得し、名前空間プレフィックスを削除してTASK_ROUTES
を取得し、小文字でtask_routes
を取得します。 その結果、新しい名前でセロリの設定が設定されます。要約すれば:
CELERY_ROUTES
は古いセロリの設定名ですCELERY_TASK_ROUTES
は、新しい設定名の大文字の接頭辞付きの変更であり、Django設定ファイルから新しい設定名を設定するために一般的に使用されます。お役に立てば幸いです。
(このスタックオーバーフローの回答に関する私の短いコメントに基づく)