1

そのため、 resque-lockはジョブがキューに入れられないようにするためのものであることに気付きました。しかし、キューを完全に満たしたいが、特定の状況がロックされたときに再度キューに入れたい場合はどうすればよいでしょうか。これを解決するには: 私のキューは多数のホスト (例: google.com、yahoo.com、yahoo.com、apple.com) で構成されているため、同じホストの 2 つが異なるワーカーに入る必要はありません。同時!それ、どうやったら出来るの?resque-lock が機能しましたが、この問題の解決に役立つとは思いません。

例:

列:

google.com
yahoo.com
apple.com
apple.com
stackoverflow.com

労働者:

  • 2 人の従業員が仕事を探していて、google.com と yahoo.com を見つけました (わかりました)
  • 2 人の従業員が新しい仕事を探して見つけました: apple.com と apple.com
  • 2 番目の apple.com ジョブをキューに戻して続行します

resqueでこの動作を取得する方法についてのアイデアはありますか? 私の例では 2 つのワーカーの状況を説明しましたが、主な考え方は、ワーカーの数に関係なく、同じホストで 2 つのジョブを同時に実行できないということです。実行が許可されていないジョブは、キューに戻す必要があります。

4

1 に答える 1

1

resque::workers::lockという独自の resque プラグインを作成しました。

于 2012-07-23T19:53:35.177 に答える