AMQPQueue::ack
(PECL amqp >= Unknown)
AMQPQueue::ack — Accuse réception d'un message
Description
$delivery_tag
[, int $flags
= AMQP_NOPARAM
] )
Cette méthode autorise un accusé de réception d'un message
qui n'a pas été reçu avec le drapeau AMQP_AUTOACK
via la méthode AMQPQueue::get() ou
la méthode AMQPQueue::consume().
Liste de paramètres
-
delivery_tag
-
Le drapeau du message délivré.
-
flags
-
Le seul drapeau valide qui peut être passé est
AMQP_MULTIPLE
.
Erreurs / Exceptions
Emets une exception AMQPChannelException si le canal n'est pas ouvert.
Emets une exception AMQPConnectionException si la connexion au broker a été perdue.
Valeurs de retour
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Exemples
Exemple #1 AMQPQueue::ack() example with AMQPQueue::get()
<?php /* Crée une connexion en utilisant les identifiants par défaut : */ $connection = new AMQPConnection(); $connection->connect(); $channel = new AMQPChannel($connection); /* Crée un objet de file d'attente */ $queue = new AMQPQueue($channel); // Déclare la file d'attente $queue->declare('myqueue'); // Récupère le prochain message, mais ne le marque pas comme délivré $message = $queue->get(AMQP_NOPARAM); echo $message['msg']; // Accuse réception du message $queue->ack($message['delivery_tag']); ?>
Exemple #2 Exemple avec AMQPQueue::ack() et AMQPQueue::consume()
<?php /* Crée une connexion en utilisant les identifiants de connexion par défaut : */ $connection = new AMQPConnection(); $connection->connect(); /* Création d'un objet de file d'attente */ $queue = new AMQPQueue($connection); // déclaration de la file d'attente $queue->declare('myqueue'); $options = array( 'min' => 1, 'max' => 10, 'ack' => false ); // récupère les messages, sans les marquer comme délivrés $messages = $queue->consume($options); foreach ($messages as $message) { echo $message['message_body']; // accusé de réception du message, tel que reçu $queue->ack($message['delivery_tag']); } ?>