(PECL amqp >= Unknown)
AMQPQueue::consume — Consume mensajes de una cola
El bloqueo de la función que va a recuperar el mensaje siguiente de la cola cuando esté disponible y hacerlo pasar a la llamada de retorno.
callback
Una función de llamada de retorno para que el mensaje de consumo será pasada. La función debe aceptar como mínimo un parámetro, un objeto AMQPEnvelope, y un segundo parámetro opcional AMQPQueue de que el mensaje fue consumido.
The AMQPQueue::consume() will not return the processing thread back to the PHP script until the callback function returns FALSE
.
flags
Una máscara de bits de cualquiera de las flags: AMQP_NOACK
.
Lanza una AMQPChannelException si el canal no está abierto.
Lanza una AMQPConnectionException si se perdió la conexión con el corredor.
Ejemplo #1 Ejemplo de AMQPQueue::consume()
<?php
/* Crea una conección utilizando todas las credenciales por defecto: */
$connection = new AMQPConnection();
$connection->connect();
$channel = new AMQPChannel($connection);
/* Crea un objeto de la cola */
$queue = new AMQPQueue($channel);
// Declara la cola
$queue->declare('myqueue');
$i = 0;
function processMessage($envelope, $queue) {
global $i;
echo "Message $i: " . $envelope->getBody() . "\n";
$i++;
if ($i > 10) {
// Bail after 10 messages
return false;
}
}
// Consume los mensajes en la cola
$queue->consume("processMessage");
?>