AMQPQueue::ack
(No version information available, might only be in SVN)
AMQPQueue::ack — Acknowledge the receipt of a message
Description
public bool AMQPQueue::ack
( int $delivery_tag
[, int $flags = NULL
] )
This method allows the acknowledgement of a message that is retrieved with the AMQP_NOACK flag through AMQPQueue::get or AMQPQueue::consume
Parameters
- delivery_tag
-
The message delivery tag of which to acknowledge receipt.
- flags
-
The only valid flag that can be passed is AMQP_MULTIPLE.
Return Values
Returns TRUE on success or FALSE on failure.
Examples
Example #1 AMQPQueue::ack example with AMQPQueue::get
<?php
/* Create a connection using all default credentials: */
$connection = new AMQPConnection();
$connection->connect();
/* create a queue object */
$queue = new AMQPQueue($connection);
//declare the queue
$queue->declare('myqueue');
//get the next message, but don't mark it as delivered
$message = $queue->get(AMQP_NOACK);
echo $message['msg'];
//acknowledge the message as received
$queue->ack($message['delivery_tag']);
?>
Example #2 AMQPQueue::ack example with AMQPQueue::consume
<?php
/* Create a connection using all default credentials: */
$connection = new AMQPConnection();
$connection->connect();
/* create a queue object */
$queue = new AMQPQueue($connection);
//declare the queue
$queue->declare('myqueue');
$options = array(
'min' => 1,
'max' => 10,
'ack' => false
);
//get the messages, but don't mark them as delivered
$messages = $queue->consume($options);
foreach ($messages as $message) {
echo $message['message_body'];
//acknowledge the message as received
$queue->ack($message['delivery_tag']);
}
?>




