[rabbitmq-discuss] Publish with immediate for dynamic worker creation?
rtrlists at googlemail.com
Wed Oct 7 13:55:09 BST 2009
Thank you. I got lost looking at flow control, which is wrong for my model.
Setting the QoS prefetch-count to 1 in my workers leads to my desired return
notification. I can then set up a new worker and requeue the work message.
Works like a charm.
On Wed, Oct 7, 2009 at 1:10 PM, Paul Jones <pauljones23 at gmail.com> wrote:
> Hi Robert,
> If you set the QOS on the consumer to 1 (as you say), then this should
> prevent the message being queued at the client.
> On Wed, Oct 7, 2009 at 12:28 PM, Robert Raschke <rtrlists at googlemail.com>wrote:
>> I'm wondering if I'm wandering the right path here. (I'm using 1.6.0 with
>> erlang client.)
>> I was intending to use a basic.publish with mandatory and immediate set to
>> true, and a return handler to allow me to add new workers reading from a
>> I create a work queue with a return handler and a reply queue. I also
>> create one initial worker, subscribing to the work queue with no_ack set to
>> I then publish a work message onto the work queue and the worker picks it
>> up, does the work and publishes the answer back into the reply queue.
>> My intention was that my work message publish uses the immediate flag to
>> generate a basic.return if the message cannot be immediately delivered. I
>> thought that if my worker is busy it won't get the next message, leading to
>> the basic.return. But I believe my thinking is wrong. It looks like the
>> second work message is routed to the initial work consumer immediately, even
>> if it is still busy.
>> Have I overlooked something obvious, or would I need to implement a 1
>> message flow control on the channel that the work consumer is using?
>> Thanks for any pointers,
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.rabbitmq.com
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rabbitmq-discuss