you shouldn't use AMQPQueue::consume() if you have to get _all_ incoming messages. you'll get only "max" number of messages and the queue will be destroyed then.
for my amqp.so v0.2.2 this weird behavior is true.
use AMQPQueue::get() and use "count" param instead.
AMQPQueue::consume
(PECL amqp >= Unknown)
AMQPQueue::consume — El propósito de consumo
Descripción
public array AMQPQueue::consume
([ array $options = array()
] )
Warning
Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.
Parámetros
- options
-
options es un array de opciones de consumo. Las claves utilizadas en el array options son: min, max, y ack. Todas las demás claves serán ignoradas.
Por cada opción faltante, la extensión chequeará la configuración INI o utilizará el valor por defecto.
Valores devueltos
Un array que contiene los mensajes utilizados. El número de mensajes devueltos será almentos el número especificado en min en el array options. Pero no mayor que el número especificado en max.
Ejemplos
Example #1 Ejemplo de AMQPQueue::consume()
<?php
/* Crea una conección utilizando todas als credenciales por defecto: */
$connection = new AMQPConnection();
$connection->connect();
/* Crea un objeto de la cola */
$queue = new AMQPQueue($connection);
// Declara la cola
$queue->declare('myqueue');
$options = array(
'min' => 1,
'max' => 10,
'ack' => true
);
// Toma los mensajes
$messages = $queue->consume($options);
foreach ($messages as $message) {
echo $message['message_body'];
}
?>
hlopetz at gmail dot com
11-May-2011 06:32
