[rabbitmq-discuss] Push to back of Queue on NAck

William Hughes will at hughesfamily.net.au
Sat Jul 27 03:56:54 BST 2013


On Fri, Jul 26, 2013 at 11:18 PM, Matthias Radestock <matthias at rabbitmq.com>
 wrote:
>
> Queue A, no TTL, DLX=Exchange B (with Queue B bound to it).
>> Queue B, ttl of (x) seconds, DLX= Exchange A (with Queue A bound to it).
>>
>> When we NAck the mesage from Queue A, we set requeue=false.
>>
>
> Yep, that makes perfect sense and should work well.
>


I'll give the using-deadletter-exchange with NAck approach a go.



On Sat, Jul 27, 2013 at 1:49 AM, Tom Anderson <tom.anderson at timgroup.com>
 wrote:

>
> Implemented exactly as described there, it yields an infinite loop for
> unprocessable messages. You might therefore also want to keep a count of
> the number of processing attempts in a header on the message, and more
> thoroughly reject messages which reach some maximum number of attempts. I
> think you could do the final rejection by setting a routing key on the
> message when you reject it for the last time, and having exchange B be a
> direct exchange which routes to either queue B or some final deadletter
> queue.
>


Yep, we've got other ways to deal with permanent failures/poison messages.
This is purely to deal with transient problems where we might need to try
several times.


Thanks for the feedback and discussion everyone.
Cheers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130727/41e23eac/attachment.htm>


More information about the rabbitmq-discuss mailing list