2010-02-06 50 views
7

Estoy buscando implementar RabbitMQ en mi aplicación PHP, y estoy usando la extensión php-amqp. Mi única pregunta es: ¿cómo puedo consultar fácilmente para devolver el contenido de la cola en PHP?Recuperar mensajes de la (s) cola (s) de RabbitMQ

php-amqp parece que no me permite hacerlo. Si me estoy equivocando, por favor ayúdenme aquí :)

Respuesta

2

James, ¿podría hacer esta pregunta en rabbitmq-discuss? Su pregunta toca lo que significa 'consultar' una cola para poder recibir mensajes. En RabbitMQ consume mensajes de colas y realiza el filtrado mediante enlaces de cola. Echar un vistazo a esta intro - http://blogs.digitar.com/jjww/2009/01/rabbits-and-warrens/

Saludos

Alexis RabbitMQ

2

Si lo que necesita saber cuántos mensajes hay en una cola, se puede obtener esta información cuando se declara la cola, o si utiliza basic.get para recuperar un solo mensaje. Normalmente, los destinatarios de mensajes utilizarán basic.consume y no sabrán cuántos mensajes están esperando.

0

Este tipo de pregunta son más acerca de queue data type y el concepto general de AMQP.

En AMQP (y en RabbitMQ, que es un broker compatible con AMQP), las colas son colas FIFO típicas. Queue no es ese tipo de tipos de datos que normalmente se utilizan para el acceso arbitrario de elementos y RabbitMQ en este momento no proporciona ninguna forma de eludir el concepto FIFO y permitir ese tipo de acceso. Al menos fuera de la caja. Puede haber complementos de terceros, pero no conozco ninguno de estos. Y una vez más, arruinará todo el concepto FIFO y se convertirá en una nueva redis o lo que sea, sin siquiera hablar de impacto en el rendimiento (se puede verificar la complejidad de la operación de estructuras de datos comunes, incluso esta Q & A en SO - What are the time complexities of various data structures? da una idea breve de por qué agregar acceso arbitrario no es un objetivo de AMQP ni de ningún intermediario compatible con AMQP que se preocupe por el rendimiento). La mayoría de las preguntas sobre el acceso de colas arbitrarias se producen cuando las colas se colocan en un contexto incorrecto: podría ser un caso cuando el concepto de cola simplemente no se ajusta a la arquitectura actual o de deseo y cuando mejor almacenamiento de clave-valor o base de datos.

Cuestiones relacionadas