[erlang-questions] RabbitMQ message consumption

Alexey Lebedeff binarin@REDACTED
Fri May 12 14:54:54 CEST 2017


Hi Kareem,

You don't need a secondary database. Unless you consume in a 'no-ack'
mode, RabbitMQ expects an explicit 'ack' message from you for every
message that it sends to you. This the message will not be sent to other
consumers - unless there is an explicit reject or a connection
loss. Also you should look into QoS parameter to prevent overwhelming
your consumer.

Best,
Alexey

Kareem Hepburn writes:

> Is it possible with RabbitMQ to consume a message without it being deleted
> and be deleted manually?
>
> Because let's say I consumed a message and started to process it and half
> way through processing it the application fails. I want to be able to
> re-process that message again. Is it possible to not delete the message and
> delete it manually after my process has successfully completed?
>
> To avoid duplication, I plan to use a secondary database, either Redis or
> Memcache to store the ID of the message to ensure that it's not being
> processed by more than one application.
>
> Thanks!



More information about the erlang-questions mailing list