iii-dead-letter-queues

Originally fromiii-hq/skills
Installation
SKILL.md

Dead Letter Queues

Comparable to: SQS DLQ, RabbitMQ dead-letter exchanges

Key Concepts

Use the concepts below when they fit the task. Not every queue failure needs manual DLQ intervention.

  • Jobs move to a DLQ after exhausting max_retries with exponential backoff (backoff_ms * 2^attempt)
  • Each DLQ entry preserves the original payload, last error, timestamp, and job metadata
  • Redrive via the built-in iii::queue::redrive function or the iii trigger CLI command
  • Redriving resets attempt counters to zero, giving jobs a fresh retry cycle
  • Always investigate and deploy fixes before redriving — blindly redriving repeats failures
  • DLQ support available on Builtin and RabbitMQ adapters

Architecture

A queue consumer fails processing a job. The engine retries with exponential backoff up to max_retries. Once exhausted, the message moves to the DLQ. An operator inspects the failure, deploys a fix, then redrives the DLQ to replay all failed jobs.

Related skills
Installs
48
Repository
iii-hq/iii
GitHub Stars
15.6K
First Seen
Apr 6, 2026