[rabbitmq-discuss] Publish won't work without transaction?
Matthias Radestock
matthias at lshift.net
Wed Sep 24 05:54:10 BST 2008
Tsuraan,
tsuraan wrote:
> Would just replacing the queue (message_buffer) in
> rabbit_amqqueue_process with a file-backed object work for what I'm
> doing?
That depends on what state the messages in your backlog are in. The
message_buffer only contains committed (when tx is used) messages that
are not currently awaiting acknowledgement.
Messages that are part of a tx which hasn't committed yet, and messages
which have been sent to a consumer but not yet acknowledged, are kept in
tx/cr records in the process dictionary.
> Persistence is still handled by rabbit_persister for when things die,
You'll need to think about how to "garbage collect" the files of your
file-backed queue store in the event of server crash, perhaps by hooking
a function into the RabbitMQ startup sequence that deletes them
Matthias.
More information about the rabbitmq-discuss
mailing list