[rabbitmq-discuss] Two questions: max bindings and handling no consumer present

Matthias Radestock matthias at rabbitmq.com
Wed Aug 1 09:08:56 BST 2012


On 01/08/12 08:23, Tim Watson wrote:
>
> On 1 Aug 2012, at 04:10, "Bell, Paul M." <pbell at syncsort.com> .
>>
>> I suppose this is where the "mandatory" flag comes in. But I'm
>> wondering if there's a way to query  the broker about its
>> infrastructure, e.g., the existence of a queue/binding that would
>> indicate the presence of the consumer.
>>
>
> There are ways to query the infrastructure, but these rare generally
> not exposed to client APIs. What client are you using?

Moreover, performing such a "does a consumer exists?" query before 
publishing is racy, since the consumer might well vanish between the 
query and the publishing event.

What are you actually trying to accomplish? Is the idea that in the 
absence of consumers the producer would hang on to the message and retry 
later? In that case you may want to consider alternative routing 
topologies. E.g. perhaps the consumer queues could be declared ahead of 
time. Or you could use an alternate exchange to route messages to 
holding queue where they are then picked up from consumers when they 
join. Or you could do something even more sophisticated and configure 
said holding queue with a message-ttl and set the original exchange as 
the dead-letter exchange of the queue - that way messages will be 
retried periodically automatically.

Matthias.


More information about the rabbitmq-discuss mailing list