(PECL amqp >= Unknown)
AMQPQueue::nack — Mark a message as explicitly not acknowledged.
$delivery_tag
[, string $flags
= AMQP_NOPARAM
] )
Mark the message identified by delivery_tag
as explicitly not acknowledged. This method can only be called on messages that have not yet been acknowledged, meaning that messages retrieved with by AMQPQueue::consume() and AMQPQueue::get() and using the AMQP_AUTOACK
flag are not eligible.
When called, the broker will immediately put the message back onto the queue, instead of waiting until the connection is closed.
This method is only supported by the RabbitMQ broker. The behavior of calling this method while connected to any other broker is undefined.
delivery_tag
The delivery tag by which to identify the message.
flags
A bitmask of flags.
Throws AMQPChannelException if the channel is not open.
Throws AMQPConnectionException if the connection to the broker was lost.
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
Olivier (2012-08-22 17:37:16)
You can use nack with consume, using those flags :
- On consume method : AMQP_NOPARAM
- On nack method : AMQP_REQUEUE