[rabbitmq-discuss] basic.qos prefetch across multiple queues - useful?

Laing, Michael P. Michael.Laing at nytimes.com
Mon Mar 18 20:24:09 GMT 2013


It's not particularly important, but we have processes that consume from
multiple queues with different characteristics.

For some queues the processing is multi-threaded and we want higher
prefetch. For others, we want prefetch of 1.

We don't have the use case you describe.

ml

On 3/18/13 3:24 PM, "Matthias Radestock" <matthias at rabbitmq.com> wrote:

>On 18/03/13 19:00, Laing, Michael P. wrote:
>> We use python - a process normally has several channels open, using
>> pika.SelectConnection and the continuation (event-driven) programming
>>style.
>>
>> However, we typically use a channel per queue partly so that we can set
>> prefetch on a per queue basis.
>
>Interesting. Why is it important to you to set prefetch per queue
>consumer?
>
>The existing basic.qos prefetch cross-queue limiting behaviour caters
>for scenarios where a client is consuming from multiple queues but can
>only process one message at a time and wants to limit the number of
>messages in-flight so they can processes by other consumers instead.
>
>E.g. if a client is consuming from a hundred queues, and takes one
>minute to process each message, then with the current behaviour they can
>limit the backlog to 1 minute, whereas with per-queue prefetch the
>backlog could only be limited to 100 minutes or more.
>
>
>Regards,
>
>Matthias.



More information about the rabbitmq-discuss mailing list