Ich möchte blockieren, dass bestimmte Warteschlangen für eine bestimmte Zeit verbraucht wurden. Gibt es eine Möglichkeit, den Zugriff auf die spezifische Rabbit-Warteschlange für einige Zeit zu blockieren? Ich kontrolliere nicht nur Kunden.Sperren von Warteschlangen beim Akzeptieren von Verbindungen
Antwort
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
- 1. Xdebug wie alle Verbindungen akzeptieren
- 2. Probleme beim Einrichten des Postgres-Servers, SSL-Verbindungen zu akzeptieren
- 3. Fork vor oder nach dem Akzeptieren von Verbindungen?
- 4. Fehler beim Sperren von Referenzen/Köpfen/Master
- 5. Java Performance Degradation beim Entfernen von Sperren
- 6. Wie mysql Verbindungen extern zu akzeptieren
- 7. WURDE von Warteschlangen Hosting
- 8. Knoten-App (Meteor) Akzeptieren keine XHR-Verbindungen
- 9. Pull-Warteschlangen Genehmigung von Rechen
- 10. Rendern von Entitäten in Warteschlangen?
- 11. Erkennen von gelöschten Nachrichten in ZeroMQ-Warteschlangen
- 12. Websocket halten Verbindungen von Verbindungen in Frühling
- 13. So konfigurieren Sie PostgreSQL, um alle eingehenden Verbindungen zu akzeptieren
- 14. Prüfen, ob der MySQL-Server Verbindungen akzeptieren kann
- 15. So akzeptieren Sie Remote-Verbindungen zu einem Java-WebServer
- 16. Mehrere gleichzeitige Warteschlangen koordinieren
- 17. Muss ich beim Aufruf von ResetEvent() Mutex oder sperren?
- 18. explizit sperren Zeile beim Aktualisieren von Datensatz in Mysql
- 19. Subsonic ActiveRecord - Verbindungen hängen beim Hinzufügen von vielen Datensätzen
- 20. Verwenden von web.config zum Sperren von Benutzeragenten
- 21. Wie bekomme ich netcat, um Verbindungen von außerhalb des LAN zu akzeptieren?
- 22. Akzeptieren von Eingabe von Benutzer mit Makro
- 23. Sperren von Dateien in Windows
- 24. SQLite3 und Freigeben von Sperren
- 25. Verständnis von jQuery-Effekten in Warteschlangen
- 26. Freigeben von Warteschlangen mit ipyparallel Cluster
- 27. Akzeptieren von Bitcoins auf Heroku
- 28. Vorteile von Polling Multiple Ble Verbindungen gegenüber simultanen Verbindungen?
- 29. Sperren von Dateien mit C++ unter Windows
- 30. Visual Studio Dateien beim Debuggen sperren
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. –