qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wolgemuth Greg <woo...@eseri.com>
Subject Understanding "capacity" flag for Python receivers
Date Fri, 05 Nov 2010 21:35:09 GMT
I have a system with long-processing consumers which pull off shared
queues. I'm using a direct exchange. Here's what I want to have happen:

Consumers A, B read from shared queue Q
A and B are both busy when messages 1, 2, 3 arrive on Q
A unblocks and begins processing 1
B unblocks and begins processing 2
B finishes 2, and begins processing 3
A finishes 1

Questions are as follows:

What's the difference in behaviour for setting the capacity of a
receiver to 0 versus 1?

If consumer B calls fetch() before consumer A calls acknowledge(), can
consumer B end up with the same message as consumer A?

For long-processing consumers, is it better to acknowledge when
processing starts or when processing ends?

What happens when my consumers read from many shared queues, and use the
session.next_receiver() functionality? From my understanding,
next_receiver() needs prefetch enabled to function. However, I don't
want messages pulled from shared queues onto consumers which have just
started a long processing block - preventing other, idle consumers from
processing the message in question.

Thanks in advance,


Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org

View raw message