[rabbitmq-discuss] question on exchange type
0x6e6562 at gmail.com
Wed Feb 4 08:45:37 GMT 2009
On Tue, Feb 3, 2009 at 11:43 PM, Daniel N <has.sox at gmail.com> wrote:
>> If the application has to handle this, then it could use a simple
>> client timeout on asynchronous RPC cycle - this is doable without
>> changing anything in the broker.
> Ben this is the thing that has me at a standstill. How to audit that the
> downstream workers have done their jobs?
In a distributed system it is difficult to know what some othe actor
is up to apart from the observable messages that they send.
So in this scenario, you could say that if you don't receive some
notification for an item of work after a certain length of time, then
you regard the work as not done. If the worker sends a response
subsequent to the timeout, this will could just be ignored (either by
the application or by deleting the reply queue).
I don't think that the broker would have any better chance of judging
what the worker is actually up to (for the same reason as above).
The only thing that I imagine you could do in the broker is to have a
routing mechanism that is triggered by a TTL - this TTL mechanism
would most likely get trigger whilst the unconsumed message is
resident in a queue. But then you also need to decide whether the TTL
can be applied to messages that have pending acks or not.
BTW Can you send your questions to the list rather than just to me please :-)
More information about the rabbitmq-discuss