[rabbitmq-discuss] Message timeouts

Matthias Radestock matthias at rabbitmq.com
Mon Apr 30 17:59:04 BST 2012


On 26/04/12 06:08, Alex Grönholm wrote:
>> You want requests to either be processed or (reliably) not
>> processed. You never want the clients to be in any doubt about
>> whether the request was processed or not. So you wait forever in
>> the client. However, requests that get discarded never return so
>> the client doesn't know. So you want expiry to trigger replies to
>> the clients. (Per-queue message TTLs also don't return.) >>
>>  Sounds about right.
>> Let's see -- how would we do this without a dead-letter mechanism? >>
> Now that the dead-letter mechanism is part of the server, I don't still
> don't see how this could be done. The dead lettered RPC commands would
> still have to be processed somewhere.

Right. Ideally you'd need a way to specify a dead-letter destination 
*per message*. However, working with what is possible today, instead you 
could just have a single "dead request" queue to which all expired 
requests get routed. And then have a small app simply consuming messages 
from that queue and replying to them with some sort of error indication.



More information about the rabbitmq-discuss mailing list