AMQPQueue
PHP Manual

AMQPQueue::ack

(PECL amqp >= Unknown)

AMQPQueue::ackReconoce la recepción de un mensaje

Descripción

public bool AMQPQueue::ack ( int $delivery_tag [, int $flags = AMQP_NOPARAM ] )

Éste metodo permite reconocer la recepción de un mensaje que es recuperado sin la bandera AMQP_NOACK a través de AMQPQueue::get() o AMQPQueue::consume().

Parámetros

delivery_tag

La etiqueta de mensaje entregado del cual reconoce la recepción.

flags

La unica bandera valida que puede ser pasada es AMQP_MULTIPLE.

Errores/Excepciones

Lanza una AMQPChannelException si el canal no está abierto.

Lanza una AMQPConnectionException si se perdió la conexión con el corredor.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 AMQPQueue::ack() Ejemplo con AMQPQueue::get()

<?php

/* Crear una conexión con todas las credenciales por defecto: */
$connection = new AMQPConnection();
$connection->connect();

/* crear un objeto de cola */
$queue = new AMQPQueue($channel);

//declarar la cola
$queue->declare('myqueue');

//obtener el siguiente mensaje, pero no lo marca como entregado
$message $queue->get(AMQP_NOPARAM);

echo 
$message['msg'];

//reconocer que el mensaje fue recibido
$queue->ack($message['delivery_tag']);

?>

Ejemplo #2 AMQPQueue::ack() Ejemplo con AMQPQueue::consume()

<?php

/* Crear una conexión con todas las credenciales por defecto: */
$connection = new AMQPConnection();
$connection->connect();

/* crear un objeto de cola */
$queue = new AMQPQueue($connection);

//declarar la cola
$queue->declare('myqueue');

$options = array(
    
'min' => 1,
    
'max' => 10,
    
'ack' => false
);

//obtener el siguiente mensaje, pero no lo marca como entregado
$messages $queue->consume($options);

foreach (
$messages as $message) {
    echo 
$message['message_body'];
    
//reconocer que el mensaje fue recibido
    
$queue->ack($message['delivery_tag']);
}

?>


AMQPQueue
PHP Manual