Warten auf alle rabbitmq-Antworten bei einem Fanout-Austausch?

Ich habe einen Rabbitmq-Fanout-Austausch namens "ex_foo"für eine RPC - Auslastung. Wenn Clients eine Verbindung zum Server herstellen, erstellen sie ihre eigene nicht dauerhafte RPC - Empfangswarteschlange und stellen mit einem BasicConsumer eine Verbindung zu ihr her. Die Apps warten auf Nachrichten / Befehle und antworten auf die in der definierten Warteschlangereply_to Teil der Anfrage.

Eine der einfachen Nachrichten / Befehle, die ich an den Fanout-Austausch sende (und somit an jede Anwendung / jeden Client, der damit verbunden ist), ist eine Art vonping request messageund mein Problem ist dasIch weiß nicht, wie viele Ping-Antworten ich erhalten werde (oder sollte erwarten), weil ich nicht weiß, wie viele Clients gleichzeitig mit der Fanout-Vermittlungsstelle verbunden sind. Alle mit der Fanout-Vermittlungsstelle verbundenen Clients sollten antworten.

Woher weiß ich, wie viele Antworten zu erwarten sind, wenn 10 Warteschlangen an der Fanout-Vermittlungsstelle zugestellt werden (dh: 10 Clients sind verbunden)? Um das zu wissen, muss ich wissen, wie oft es geliefert wurde? Gibt es etwas raffinierteres und einen Sleep-Timer? Einfach,Mein Admin-Tool kann nicht unendlich warten und muss beendet werden, nachdem es alle Pings erhalten hat (oder eine Auszeit ist verstrichen).

Antworten auf die Frage(1)

Ihre Antwort auf die Frage