Consumir no reconocer mensajes de RabbitMq

He creado un editor simple y un consumidor que se suscribe en la cola usandobasic.consume.

Mi consumidor reconoce los mensajes cuando el trabajo se ejecuta sin una excepción. Cuando me encuentro con una excepción, no recibo el mensaje y vuelvo antes. Solo los mensajes reconocidos desaparecen de la cola, por lo que está funcionando correctamente.
Ahora quiero que el consumidor vuelva a recoger los mensajes fallidos, pero la única forma de volver a resumir esos mensajes es reiniciando al consumidor.

¿Cómo necesito abordar este caso de uso?

Codigo de configuracion

$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');

Código del consumidor

$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());
}

Código productor

$exchange->publish('message');

Respuestas a la pregunta(2)

Su respuesta a la pregunta