[rabbitmq-discuss] Is Pika's add_on_return_callback supposed to be single use?
Matt Pietrek
mpietrek at skytap.com
Fri Aug 17 21:24:25 BST 2012
(Would publish to a Pika mailing list if there was one, but since there
doesn't seem to be...)
After registering a returned message handler in Pika, I noticed that it
only gets called once. Digging into the code, I see this:
def add_on_return_callback(self, callback):
"""
Pass a callback function that will be called when basic_publish as
sent
a message that has been rejected and returned by the server. The
callback handler should receive a method, header and body frame. The
base signature for the callback should be the same as the method
signature one creates for a basic_consume callback.
"""
* self.callbacks.add(self.channel_number, '_on_basic_return',
callback)*
The CallbackManager.add() method is defined like this:
def add(self, prefix, key, callback,* one_shot=True*, only_caller=None):
Since add_on_return_callback doesn't specify a value for the one_shot
keyword arg, it defaults to True, which explains exactly the behavior I'm
seeing.
Is this the correct behavior or an oversight?
Thanks,
Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20120817/f229f918/attachment.htm>
More information about the rabbitmq-discuss
mailing list