Hello,
We are looking to incorporate RabbitMQ as a queuing system for our jobs
processing architecture. In our system, there is at least one job that can
potentially run for an extremely long amount of time (>30 days). A msg
corresponding to this job would be put into the queue, picked up and run for
a very long duration.
Is there a corner case in which because acks haven't been received for a
very long time, msgs are either automatically redelivered or 'considered
consumed'?
As I understand it none of the ttl (message ttl, queue ttl) constraints
apply to messages that have been read by a consumer but yet to be
acknowledged. And that a task working off of this message could run for as
long as it takes to complete. (Eventually though the consumer will ack the
msg).
Can someone please affirm/clarify?
Thanks,
Ranjit
PS - I am reading this
http://www.rabbitmq.com/tutorials/tutorial-two-java.html
"There aren't any message timeouts; RabbitMQ will redeliver the message only
when the worker connection dies. It's fine even if processing a message
takes a very, very long time."
--
View this message in context: http://rabbitmq.1065348.n5.nabble.com/Consumer-acknowledgements-for-very-long-running-tasks-tp26341.html
Sent from the RabbitMQ mailing list archive at Nabble.com.