Message Timers
Per-message DelaySeconds for one-off scheduled work.
Lets one specific message wait before becoming visible without affecting the queue's default behaviour.
What it is
Message timers let you set DelaySeconds on individual messages at send time. The per-message delay overrides the queue-level DelaySeconds for that message. Standard queues only.
SendMessage({
QueueUrl,
MessageBody: payload,
DelaySeconds: 60, // this message only
})Limits
Per-message delay ranges from 0 to 900 seconds (15 minutes), same as queue-level delay.
Use cases
Retry after a known cooldown, delay a notification until after a transactional write commits, or stagger processing of related events without changing queue defaults.
- Retry with backoff: increase DelaySeconds on each re-queue.
- Scheduled reminder: delay until target time (within 15 min).
Alternatives for longer delays
EventBridge Scheduler supports one-time and recurring schedules without the 15-minute ceiling. It is the recommended solution for advanced scheduling beyond SQS delay capabilities.
- !Not supported on FIFO queues — use queue-level DelaySeconds instead.
- !15-minute hard ceiling — don't build a general job scheduler on message timers alone.