私には1つのプロデューサー、1つのキュー、およびNのコンシューマーがあります。プロデューサーは、コンシューマーによって実行される「ジョブ」を作成します。消費者が前のジョブを終了するときに、消費者がキューからジョブをプルするプルモデルを使用したいのですが、ラウンドロビンを使用したプッシュモデルではなく、ジョブが消費者に等しい分数で除算されます。
私の消費者は同じコードを使用していますが、私がそれを実行すると、最初のコードが接続してすべてのジョブを受け取ります。デバッグでそれを見ても、最初のものはすべてを取得しますが、2番目のものなどはメッセージを取得しません(最初のものが受信を実行する前に受信を実行した場合でも、いくつかのジョブが返されます)。
接続URL: "amqp:// guest:guest @ prodconstest /?brokerlist ='tcp://127.0.0.1:5767'"
すべての消費者のためのコードは次のことを行います。
- AMQConnectionを作成します
- 自動ACKでキューセッションを作成します
- 接続開始
- キューを作成
"ADDR:" + queueName + "; {create: always, link:{x-subscribes: {exclusive: false}}}"
- 消費者を作成する
AMQPキューを使用して達成することは理論的に可能ですか?もしそうなら、どのように?