In front of a server that handles one request at a time behind a lock, jittered retries inside the worker come before a queue
A record of splitting a form into a queue and a worker after several simultaneous submissions failed with 'busy', and of confirming that queue redelivery alone does not resolve the contention and that acking an exception silently loses the message
- If the other side processes one request at a time behind a lock, queue redelivery alone does not resolve the contention. Redeliveries also arrive at the same moment and collide again, so random-jitter retries inside the worker come first, and the queue's backoff is meant for outages
- Once you have already answered 'received', the worker must not ack an unexpected exception. An ack is a silent loss