2010-02-06 10 views
7

Ich möchte RabbitMQ in meine PHP-Anwendung implementieren und verwende die Erweiterung php-amqp. Meine einzige Frage ist diese, wie kann ich leicht abfragen, um den Inhalt der Warteschlange in PHP zurückzugeben?Nachrichten von RabbitMQ-Queue (s) abrufen

php-amqp scheint mir das nicht zu ermöglichen. Wenn ich falsch liege, bitte helfen Sie mir hier :)

Antwort

2

James, können Sie bitte diese Frage auf Rabbitmq-diskutieren? Ihre Frage berührt, was es bedeutet, eine Warteschlange "abzufragen", um Nachrichten zu erhalten. In RabbitMQ konsumieren Sie Nachrichten aus Warteschlangen und filtern mit Warteschlangenbindungen. Werfen Sie einen Blick auf dieses Intro - http://blogs.digitar.com/jjww/2009/01/rabbits-and-warrens/

Prost

alexis RabbitMQ

2

Wenn Sie wissen müssen, wie viele Nachrichten in einer Warteschlange sind, können Sie diese Informationen erhalten können, wenn Sie die Warteschlange erklären, oder wenn Verwenden Sie basic.get, um eine einzelne Nachricht abzurufen. Normalerweise verwenden Empfänger von Nachrichten basic.consume und sie werden nicht wissen, wie viele Nachrichten warten.

0

Eine solche Frage sind mehr über queue data type und allgemeine AMQP-Konzept.

In AMQP (und in RabbitMQ, AMQP-kompatiblen Broker) sind Warteschlangen typische FIFO-Warteschlangen. Warteschlange ist nicht die Art von Datentypen, die normalerweise für den Zugriff auf beliebige Elemente verwendet wird, und RabbitMQ bietet zu diesem Zeitpunkt keine Möglichkeit, das FIFO-Konzept zu umgehen und einen solchen Zugriff zuzulassen. Zumindest aus der Box. Es gibt möglicherweise Plugins von Drittanbietern, aber mir ist nichts dergleichen bekannt. Und noch einmal, es wird ganze FIFO-Konzept ruinieren und es nur einige neue redis oder was auch immer, nicht einmal über Leistung Auswirkungen (man kann Komplexität der gemeinsamen Datenstrukturen Operation überprüfen, auch diese Q & A auf SO - What are the time complexities of various data structures? gibt kurze Vorstellung warum Das Hinzufügen von beliebigem Zugriff ist kein Ziel von AMQP oder eines AMQP-kompatiblen Brokers, der sich um die Leistung kümmert. Die meisten Fragen über den Zugriff auf beliebige Warteschlangen treten auf, wenn Warteschlangen in einen falschen Kontext gestellt werden: Es kann vorkommen, dass das Warteschlangen-Konzept nicht der aktuellen oder gewünschten Architektur entspricht und wenn ein Schlüsselwertspeicher oder eine Datenbank besser funktioniert.

Verwandte Themen