The Forty-Five Second Job

An SQS-backed image pipeline leaves the default 30 second visibility timeout in place, but each job actually takes about 45 seconds. Operators report that roughly every image gets rendered twice. What is happening?

A

Long polling holds each receive call open for 20 seconds and hands the same batch to every waiting caller until one of them deletes the message

B

The visibility timeout expires before the consumer deletes the message, so it becomes visible again and a second consumer starts the same job

C

The producer's send call times out after the broker has already accepted the message, so its retry puts a second copy of every job into the queue

D

The queue is fanning each message out to every attached consumer instead of handing it to one, so two workers render the same image in parallel