問題タブ [message-ack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1541 参照

python - Kombu、RabbitMQ: コンシューマー mixin で複数回メッセージを確認する

新しい SO ドキュメンテーション プロジェクトのために Kombu をドキュメント化していたときに、この問題に遭遇しました。

Consumer Mixinの次の Kombu コードを考えてみます。

コードは次のように失敗します。

print_even_characters()メッセージがとで 2 回 ACK されたためprint_odd_characters()です。

機能する簡単な解決策は、最後のコールバック関数のみに ACK を送信することですが、他のキューまたは接続で同じ関数を使用したい場合、モジュール性が損なわれます。

複数のコールバック関数に送信されるキューに入れられた Kombu メッセージを ACK する方法は?

0 投票する
1 に答える
213 参照

c# - RabbitMQ パブリッシャーはトピック交換で確認します - BasicAcks は最初の 1 回だけ起動します

トピック交換を使用して、次の機能を備えたパブリッシュ/サブスクライブ メッセージング パターンが必要です。

  1. 発行元確認」を実装してもらいます。
  2. 処理が完了したら、コンシューマにも各メッセージを確認してもらいます。
  3. ルーティング キーを使用して、メッセージを 1 つ以上のコンシューマーにルーティングします。
  4. 永続的なコンシューマー キューを用意して、コンシューマー アプリケーションが一時的にダウンした場合に、回復したときにそのキューからメッセージを取得できるようにします。

そこで、上記をテストするために 2 つのコンソール アプリケーション (送信と受信) を作成しました。

送信

出版社

}

受け取る

問題は、送信プログラムのOnBasicAcksが最初のメッセージに対して 1 回しか呼び出されないことです。

ここに画像の説明を入力