Acknowledge the receipt of a message

AMQPQueue
AMQPQueue::bind
AMQPQueue
PHP Manual

# AMQPQueue::ack

(PECL amqp >= Unknown)

AMQPQueue::ack — Acknowledge the receipt of a message

### Description

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

This method allows the acknowledgement of a message that is retrieved without the `AMQP_AUTOACK` 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`.

### Errors/Exceptions

Throws AMQPChannelException if the channel is not open.

Throws AMQPConnectionException if the connection to the broker was lost.

### 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();
$channel = new AMQPChannel($connection);
/* create a queue object */
$queue = new AMQPQueue($channel);
//declare the queue
$queue->declare('myqueue');
//get the next message, but don't mark it as delivered
$message = $queue->get(AMQP_NOPARAM);
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']);
}
?>`

AMQPQueue
AMQPQueue::bind
AMQPQueue
PHP Manual