1

一般的な beanstalkd ワークフローでは、多くのワーカーがキュー/チューブでジョブをリッスンし、処理中にそのジョブをロックし、他のワーカーが再処理できないようにそのジョブを削除します。ジョブが失敗した場合 (たとえば、処理を完了するためのリソースが利用できない場合)、ジョブは別のワーカーがジョブを取得できるようにキューに戻ることができます。

このアプローチは ZeroMQ で可能ですか? たとえば、pub/sub モデルを使用すると、複数のサブスクライバーが同じジョブを受け取り、同時に処理できますか? push/pull または req/rep は同様のセットアップを提供しますか?

4

1 に答える 1

2

ZeroMQ がこれを提供できると確信しています。ただし、ZeroMQ は実際にはキューではないことに注意してください。これは、高度なネットワーク ライブラリです。当然、提供されたプリミティブを使用して、説明したことを行うことができます。

同じ作業を何度も行うことを気にしないのであれば、特定のケースでは、pub/sub システムとして実装できるようです。ZeroMQ ガイド、特に第 5 章を読むことをお勧めします。

あなたがZeroMQで説明したことを実行できると確信していますが、最初にこれをすでに実行しているキューを検索します。

于 2013-04-24T08:34:07.733 に答える