[rabbitmq-discuss] basic.qos prefetch across multiple queues - useful?
matthias at rabbitmq.com
Mon Mar 18 19:24:27 GMT 2013
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.
More information about the rabbitmq-discuss