プロジェクトレベルからセロリ(app)タスクを呼び出す方法(逆も同様) settings.pyでDjangoのアプリケーション/プロジェクト間でセロリのタスクを登録するには?
- proj
|_ celery.py
|_ settings.py
- app
|_ tasks.py
|_ views.py
は、私がapp/tasks
にshared_taskを指しCELERYBEAT_SCHEDULEのVARを持っている:
celery inspect registered
に記載されていません。
どちらapps/views.py
の関数から呼び出す彼らはproj/celery.py
で定義されていましたので、がレジストリにを列挙されているタスクです。
セロリのウェブサイトの指示に従っています。
セロリ "app.autodiscover_tasks"の設定に応じて使い方が異なる場合があります。この回答は、書いているときのデフォルトである "lambda:settings.INSTALLED_APPS"と "INSTALLED_APPS = ['app.apps.AppConfig'、...]'を使用していることを前提としています。 – J0hnG4lt
これは最高の答えだと思います。http://stackoverflow.com/a/38836969/3061689 – eddwinpaz