I have a service that consumes messages from RabbitMQ queue. Its main characteristic is the long-running handler, the processing can take anything from 5 minutes to 6 hours (in fact, no real limitation, importantly, it is often longer than RabbitMQ’s recommended and default ack timeout of 30 minutes). So, in order to avoid acknowledgement timeout, my current pattern is: