1

ワーカーをブロックせずにジョブを遅らせる機能を備えたキューをzookeeperに実装するための良い方法として、皆さんは何を提案しますか?

参照beanstalkd遅延ジョブオプション。

4

1 に答える 1

0

必要なのは、zookeeper を使用してバリアを開発することです。

「遅延時間」は、マスターと呼ばれる別のプロセスによって設定されたと思います。

マスターは最初にノードを作成し、データ「false」で /work/flag と言う

ワーカーが行う必要があるのは、ノード /work/flag を取得して監視することです。ウォッチャーは非同期でコールバックするため、ワーカーで他のことを行うことができ、ブロックされません。

時間になると、マスターは /work/flag データを「true」に設定し、ZOO_CHANGED_EVENT イベントを引き起こします。

そして、ワーカーは /work/flag で "ZOO_CHANGED_EVENT" というイベント コールバックを取得する必要があります。次に、/work/flag が true かどうかを取得して確認し、ワークフローを続行するかどうかを判断できます。

于 2012-05-17T02:17:26.563 に答える