[rabbitmq-discuss] Publish won't work without transaction?

Barry Pederson bp at barryp.org
Wed Sep 24 16:39:08 BST 2008


Ben Hood wrote:
> Tsuraan,
> 
> On Wed, Sep 24, 2008 at 4:03 AM, tsuraan <tsuraan at gmail.com> wrote:
>> Where are
>> things like the no_ack option on py-amqplib's basic_consume
>> documented?
> 
> I think Barry could answer this one. In the meantime, just try to add
> the no_ack flag as an argument to the consume function.

The docs within py-amqplib are lifted directly from the 0.8 XML spec 
file, and unfortunately the section under basic.consume says nothing at 
all about that flag.

However there are other entries in the spec file tagged <domain> that do 
have some relevant info that doesn't make it into the Python docstrings, 
one of them is:

-----
<domain name="no ack" type="bit">
   no acknowledgement needed
   <doc>
     If this field is set the server does not expect acknowledgments
     for messages.  That is, when a message is delivered to the client
     the server automatically and silently acknowledges it on behalf
     of the client.  This functionality increases performance but at
     the cost of reliability.  Messages can get lost if a client dies
     before it can deliver them to the application.
   </doc>
</domain>
-----

The server-implementers would have a better handle on the semantics of 
that flag relating to basic.consume, py-amqplib just passes it along as 
part of the wire-protocol and doesn't do anything with it itself.

	Barry




More information about the rabbitmq-discuss mailing list