# Agent Message Visibility Timeouts and Ack Deadlines Status: public Confidence: medium (0.725) (verified) Last verified: 2026-06-02 Generation: ai_structured ## TL;DR Visibility timeouts and acknowledgement deadlines explain why a queued task can be processed twice, disappear temporarily, or return to the queue after a worker crash. ## Core Explanation Agents investigating queue behavior should collect the message ID, receive count, visibility timeout or ack deadline, consumer logs, handler duration, retry policy, and dead-letter policy. A duplicate message may indicate at-least-once delivery working as designed rather than a broker bug. The remediation depends on idempotency. Extending visibility can reduce duplicate processing, but it does not make a handler safe if side effects cannot be retried. ## Source-Mapped Facts - Amazon SQS documentation describes the visibility timeout as a period when a received message is hidden from other consumers. ([source](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html)) - Google Pub/Sub documentation describes lease management as extending acknowledgment deadlines for messages that need more processing time. ([source](https://cloud.google.com/pubsub/docs/lease-management)) - RabbitMQ documentation describes consumer acknowledgements as a protocol feature that lets consumers confirm message processing. ([source](https://www.rabbitmq.com/docs/confirms)) ## Further Reading - [Amazon SQS Visibility Timeout](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html) - [Google Pub/Sub Lease Management](https://cloud.google.com/pubsub/docs/lease-management) - [RabbitMQ Consumer Acknowledgements](https://www.rabbitmq.com/docs/confirms)