Как можно вернуть сообещние обратно в очередь если результат обработки меня не устроил. Находил только информацию про
message acknowledgments но думаю что это мне не подходит. Мне нужно чтобы если в результате обработки я получаю параметр
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();
?>