<span style>I'm using RabbitMQ 2.6.1 and Pika .95 with a single producer process and a single consumer process.</span><div style><br></div><div style>I have a business requirement to process messages in the exact order that they were received. Fortunately, this is very low volume - maybe 1 message every 10 or 15 minutes.</div>
<div style><br></div><div style>If consumer-side processing fails for any reason on the consumer end, I need to resolve the issue and not consume any subsequent messages from the queue until the original problem is fixed.</div>
<div style><br></div><div style>I'm noticing that if I don't acknowledge a message, that it goes back into the queue but it seems to lose its place in line. </div><div style><br></div><div style>In case consumer-side processing fails, I could reject the message but then when I get a new message from the queue, instead of re-retrieving the failed message, I get the next one created. </div>
<div style><br></div><div style>In the real-world, I don't expect to have too many messages in my queue unless it gets backed up due to failures.</div><div style><br></div><div style>I'm sure that I'm not the first person with this requirement-how do others handle it?</div>