パブリッシャー (RabbitMQ .NET クライアントを使用) と複数のコンシューマー (Pika Python モジュールを使用) があります。それらは単一のトピック交換を使用しており、コンシューマーは個別のキューを持っています。続行またはタイムアウトする前に、応答 (JSON) を待つ必要がある分散 RPC スタイルの呼び出しを実現したいと考えています。
メッセージを公開するときは、メッセージを受け取った「すべての」クライアントからの返信を待つ必要があります。(おそらくパブリッシャー側の単一のコンシューマーに。) ルーティング キーを使用してメッセージをパブリッシュするため、パブリッシュする前にリッスンしているコンシューマーの数はわかりませんが、任意の数のクライアントを待機する必要があります。
これは、リクエストを処理していることをユーザーに通知し、リクエストが完全に実行されたかどうかをフィードバックするためのものです。
RabbitMQ でこれを達成する方法はありますか? ブローカーの特定の RESTful API を使用して消費者名/消費者数を取得し、ループで待機したくありません。