Never A Dead Letter
This worker has run in production for a year. The queue has a redrive policy with maxReceiveCount of 5 and a dead-letter queue. The error log shows about 4,000 render failed lines a day. The dead-letter queue has never held a single message.
while True:
resp = sqs.receive_message(QueueUrl=Q, MaxNumberOfMessages=10, WaitTimeSeconds=20)
for m in resp.get("Messages", []):
try:
render(m["Body"])
except Exception:
log.exception("render failed")
finally:
sqs.delete_message(QueueUrl=Q, ReceiptHandle=m["ReceiptHandle"])
Why is the dead-letter queue empty?
Sign in to answer questions and track your progress
Sign In