Потребление не подтверждает сообщения от RabbitMq

У меня есть простой издатель и потребитель, который подписывается на очередь, используяbasic.consume.

Мой потребитель подтверждает сообщения, когда работа выполняется без исключения. Всякий раз, когда я сталкиваюсь с исключением, я не подтверждаю сообщение и возвращаюсь рано. Только подтвержденные сообщения исчезают из очереди, так что это работает правильно.
Теперь я хочу, чтобы потребитель снова принимал сообщения о сбое, но единственный способ пересмотреть эти сообщения - перезапустить потребителя.

Как мне подходить к этому варианту использования?

Код настройки

$channel = new AMQPChannel($connection);

$exchange = new AMQPExchange($channel);

$exchange->setName('my-exchange');
$exchange->setType('fanout');
$exchange->declare();

$queue = new AMQPQueue($channel);
$queue->setName('my-queue');
$queue->declare();
$queue->bind('my-exchange');

Код потребителя

$queue->consume(array($this, 'callback'));

public function callback(AMQPEnvelope $msg)
{
    try {
        //Do some business logic
    } catch (Exception $ex) {
        //Log exception
        return;
    }
    return $queue->ack($msg->getDeliveryTag());
}

Код производителя

$exchange->publish('message');

Ответы на вопрос(2)

Ваш ответ на вопрос