| name | queue |
| tags | queue, durable, retries, dlq, pubsub |
| description | Durable topic queues for iii: subscribe functions to topics, publish work asynchronously, retry failed deliveries with backoff, and inspect/redrive dead-lettered messages. |
queue
The queue worker provides durable topic delivery for iii. Register a consumer
with a durable:subscriber trigger, publish with iii::durable::publish, and
the worker persists messages, retries failed deliveries, moves exhausted jobs to
DLQ, and exposes redrive/discard inspection functions.
Install it with iii trigger compose::add worker=queue. The legacy built-in queue service must be
removed from the engine config before this worker starts because both would own
the same durable:subscriber trigger type.
When to Use
- A topic event must be processed reliably by a subscribed function.
- A failed consumer should retry automatically before the message lands in DLQ.
- You need to inspect, redrive, or discard dead-lettered messages.
- Local or single-instance durable queues are enough, using in-memory storage
for development or file-backed storage for restart survival.
Boundaries
- Not fire-and-forget broadcast. Use
pubsub when missed events are acceptable.
- Three transports ship today:
builtin (in-process, full DLQ/retry/fifo),
redis (pub/sub only, no DLQ), and rabbitmq (full: retry/DLQ/priority/fifo).
The bridge adapter is not ported — it was engine-internal and is superseded
by the engine's cut (MOT-3829).