0

Resque では、次のものがあれば:

bundle exec rake resque:work QUEUE=critical,high,normal,low,aggregate

特定のキュー (つまり、集約キュー) に対して 1 つだけのワーカーが必要であることを示すにはどうすればよいですか?

4

1 に答える 1

3

私はそれが可能だとは思わない

ここで現在のコードを見る理由

すべてのキューを再度ポーリングする

value = @redis.blpop(*(queue_names + [1])) until value

queue_names はあなたのcritical,high,normal,low,aggregate

ここでのポイントは、単一のレスキュー作業または複数のワーカーを使用するかどうかに関係なく

各 resque 作業を使用しresque:workersて、使用可能なすべてのキューをポーリングし、一度

メッセージはキューの任意のものから消費され、それに基づいて作業が開始されます

上記のキューに 1 つの作業のみを割り当てたい場合は、2 つのレーキを実行する方がよいでしょう。

このようなタスク

bundle exec rake resque:worker COUNT=4 QUEUE=critical,high,normal,low

bundle exec rake resque:work QUEUE=aggregate

aggregateこのようにして、キューに単一の resque ワーカーを割り当てることができます

この助けを願っています

于 2012-10-28T16:21:23.797 に答える