2011-01-12 12 views
3

は、私は(一般的に)労働者の次の三つのクラスでキューに入れられた実行サービスを展開する必要があります。セロリを使用して異なるワーカープールを設定するにはどうすればよいですか?

  1. 長い時間がかかり、連続的に処理することができ、周期、優先順位の低いジョブ・クラス。これらのジョブはシステム内で最大でも0..2のワーカーしか使用しないでください。

  2. (たとえば、5分で上棟式)時間の中量に短いがかかり、定期的、締め切りに敏感なジョブ・クラスが

  3. アドホックジョブ・クラス、それは#1よりも高い優先度であります#2とインターリーブすることができます。非アクティブなクラス#2からどれでも労働者の仕事のこのタイプは入って来、今までにすべての3つのジョブ・クラスが同じタスクです#2

のために労働者のプールを飢えずに、唯一の違いを、それを処理する必要がありますそれらは要求された方法です。彼らは同じ入力を受け取り、同じ出力を生成しますが、それぞれが異なる性能保証を持っています。

セロリを使用してこれを実装するにはどうすればよいですか?

答えて

3

Celery Routingを使用して目標を達成できます。あなたが行うのは、3つの異なるルーティングキーを設定し、設定した特定のルーティングキーのだけを表示している複数のセラーワーカー(カスタム設定あり)です。

+0

「celery -A proj worker -Q feeds」キューにワーカーを開始する場合、特定のルーティングキーを探すワーカーを指定する方法を教えてください。 – ealeon

関連する問題