2016-07-28 15 views

Antwort

0

nicht direkt von RMQ

gibt es ein paar Optionen, aber nicht sehr gut sein.

Sie könnten zum Beispiel die Warteschlange löschen. Wenn keine Warteschlange vorhanden ist, kann sie nicht konsumiert werden. aber das bedeutet, dass Sie Nachrichten in dieser Warteschlange für später nicht sammeln können. Sie würden auch Probleme bekommen, wenn Verbraucher versuchen, sich mit der Warteschlange zu verbinden. Sie würden entweder Fehler oder würden die Warteschlange erstellen.

Das gleiche gilt für die Bindung zwischen der Vermittlungsstelle und der Warteschlange - Sie können sie löschen. Aber auch hier sammelt Ihre Warteschlange keine Nachrichten, während die Bindung fehlt.

besten Optionen, vorausgesetzt, Sie immer noch die Nachricht sammeln müssen und nur die Verarbeitung von ihnen verzögern, eines von zwei Dingen sein würde:

1) Code schreiben, der die Nachrichten an eine andere Warteschlange sendet, ohne dass der Verbraucher angehängt an. Nach jedem beliebigen Zeitraum veröffentlichen Sie diese Nachrichten erneut in der richtigen Warteschlange.

oder

2), wenn Sie nur jede Nachricht einzeln benötigen zu verzögern, das verzögerte Nachrichtenaustausch-Plugin wird für Sie tun. https://github.com/rabbitmq/rabbitmq-delayed-message-exchange

+0

Danke für die Antwort, es überrascht mich, dass dieser einfache Fluss nicht von Rabbit unterstützt wird.Ich habe ein Problem https://github.com/rabbitmq/rabbitmq-server/issues/903 eingereicht. –

Verwandte Themen