<div dir="ltr">I have a sort of odd scenario.  I want to process 1 message at a time so I call basic qos with a prefetch of 1 and call BasicConsume(), but sometimes my processing will end in a long blocking task.  When that happens, I would like to increase the qos prefetch to 2 to trigger the next message to be received and processed.  The issue is that I don't want to ack the first message until after the long blocking process completes successfully.<div><br></div><div>If I call BasicQoS before acking the first message, the 2nd message isn't received until after the long running task completes and the ack is sent.  Can anyone explain what's going on and possibly suggest an alternative?</div></div>