[rabbitmq-discuss] py-amqplib status messages
Matthias Radestock
matthias at lshift.net
Mon Nov 24 18:09:17 GMT 2008
Dmitriy,
Dmitriy Samovskiy wrote:
> Is it a fair assumption that if a TCP packet was ack'ed, it means its
> contents reached the broker and would be processed eventually?
All kinds of stuff can go wrong after the TCP packet has been ack'ed.
The broker may die before it even gets a chance to look at the data. Or
some process involved in the handling of the message may die.
Also note that so-called asynchronous commands like basic.publish can
still fail and solicit an error response, for example when the specified
exchange does not exist.
So unless the sender has received some application level ack - such as a
channel/connection.close-ok, or a tx.commit-ok - there is no way for it
to be sure that the messages it has sent have been
processed.
Matthias.
More information about the rabbitmq-discuss
mailing list