如果处理结果不适合我,如何将消息返回到队列。只找到有关消息确认的信息,但我认为它不适合我。我需要,如果作为处理结果,我将参数 RETRY 消息添加回队列。然后这个工人或另一个工人再次拿起它并尝试处理它。
例如:
<?php
use PhpAmqpLib\Connection\AMQPStreamConnection;
echo ' [*] Waiting for messages. To exit press CTRL+C', "\n";
$connection = new AMQPStreamConnection($AMQP);
$channel = $connection->channel();
$channel->queue_declare('test', false, false, false, false);
$callback = function($msg) {
$condition = json_decode($msg->body);
if (!$condition) {
# return to the queue
}
};
$channel->basic_consume('test', '', false, true, false, false, $callback);
while(count($channel->callbacks)) {
$channel->wait();
}
$channel->close();
$connection->close();
?>
Run Code Online (Sandbox Code Playgroud)