3

PHP react\stomp で RabbitMQ を使用しています。2 つのキューがあります。1 つは「todo」、もう 1 つは「done」です。コンシューマーは「todo」から読み取り、その作業を行い、メッセージに ACK を送信してから、それを「done」キューに発行します。

「todo」から N 個のメッセージのみを消費し (そして個別に確認応答し)、終了することを保証する方法はありますか? その主な理由は、コンシューマを長時間実行したくないためであり、N メッセージ後にコンシューマを再起動したいからです。

4

1 に答える 1

1

宛先のプリフェッチ カウントを設定できます。

すべてのサブスクリプションのプリフェッチ カウントは、デフォルトで無制限に設定されています。これは、SUBSCRIBE フレームの prefetch-count ヘッダーを目的の整数カウントに設定することで制御できます。

https://www.rabbitmq.com/stomp.html

したがって、10 個のメッセージのみを消費するには、ヘッダーを追加します

prefetch-count:10

SUBSCRIBEフレームに。

client-individualメッセージごとの手動確認応答のために、ack モードを に設定できます。

于 2015-03-01T15:15:34.030 に答える