労働者なしでセロリの仕事をすべて実行する方法は、直接電話することですか? 私はTaskName.run()でタスクを呼び出すことができますが、これを設定で書きたいので、どのようにしたらいいですか?労働者なしでセロリの仕事を実行する
2
A
答えて
4
CELERY_ALWAYS_EAGERの設定をtrueに設定するだけで、セロリはタスクをキューに入れずに強制的に現在のプロセスで実行します。代わりにapply_async()または遅れでそれらを実行しているの
あなたが特定のタスクごとにそれを行うことができるようにしたい場合は、(適用でそれらを実行することができます)または実行()あなたが述べたように、。
だから、TL; DR:OK
CELERY_ALWAYS_EAGER = True
# The following two would do and act the same, processing synchronously
my_task.run()
my_task.delay()
しかし
CELERY_ALWAYS_EAGER = False
# These two won't be the same anymore.
my_task.run() # Runs synchronously
my_task.delay() # Passed to the queue and runs Asynchronously, in another process
0
私はあなたのことをよく理解していれば、タスクを同期して呼び出すことができます。
ただ、通常通りメソッドを呼び出します。
TaskName()
あなただけが労働者に送信する場合delay
を使用する必要があります。
関連する問題
- 1. セロリの労働者が死ぬと、仕事は再試行されますか?
- 2. セロリは、労働者
- 3. セロリの労働者でテストを実行する
- 4. Sidekiq異なる労働者のユニークな仕事
- 5. シングルセロリの仕事は他のセロリの労働者をすべて中断します
- 6. Resque労働者は、私が実行しているいくつかのResque仕事を持っている
- 7. resque労働者がいつ仕事を完了したかを知る
- 8. セロリ労働者を別々のマシンにセットアップする方法は?
- 9. スーパーユーザーがセロリの労働者を走らせる方法は?
- 10. 同じ労働者を使ってセロリを再試行する方法は?
- 11. 仕事がガンコルンの労働者に均等に分配されないのはなぜですか?
- 12. 労働者のデザインパターン
- 13. WPFの背景の労働者は、労働者オブジェクト
- 14. ウェブ労働者が
- 15. セロリの労働者が再試行を呼び出した後、タスクを再試行しません()
- 16. セロリ複数の労働者が1つのキューを持っています
- 17. 休止状態:私は、オブジェクトの仕事のコレクションを持つオブジェクトの労働者を持っている
- 18. 神resque労働者のレーキ
- 19. 実行ピューマ生産の労働者が、開発
- 20. ドッカーの群れまたは牧場経営の牛のセロリ労働者
- 21. heroku:「労働者のようなタイプ」
- 22. サービス労働者の基本的なセットアップ
- 23. セロリの労働者からTensorFlowの応答がありません
- 24. サービス労働者をバックグラウンドで継続的に実行していますか?
- 25. 消費者や労働者のパターン
- 26. スニーカー労働者をテストする方法
- 27. セロリの仕事は2つのプロジェクト
- 28. 非均質な仕事をしているセロリ
- 29. ヘロクの労働者を殺すには?
- 30. なぜ私の仕事を実行するとセロリがKeyErrorを返すのですか?
が、どのようにあなたは、戻り値を得るのですか?これはセロリで他の何かにラップされています – kentor
いいえ、あなたはいつもタスクとして指定されたメソッドを、Pythonで他のメソッドを呼び出すのと同じように呼び出すことができます。 Celeryは外部プロセスが実行できるキューに呼び出しを追加するだけです。セロリの内側と外側の両方でそのタスクを呼び出す必要がある場合(外部からは、レスポンスなどのポーリングや非同期ツールを使用せずにスクリプトを実行して同期していることを意味します)、正常。何も必要ない。それはまだ値を返すことができるpythonのメソッドです。 –