What problem does it solve?
It prevents brittle queue retry and DLQ behavior by giving a consistent RabbitMQ topology pattern that makes publisher/subscriber failures recoverable and predictable.
Core Features & Use Cases
- Topology-first reliability: Use Definitions to define exchanges, queues, bindings, and retry/DLQ topology in a stable, reusable way.
- Correct retry semantics via x-death: Implement retry based on errors and RabbitMQ x-death state, routing messages to retry until MaxRetries is reached, then to DLQ.
- Pragmatic integration patterns: Prefer NewPublisher2 and NewSubscriber2, and use MultiQueueSubscriber when you need fan-in consumption from multiple queues without parallelism across queues.
- Use Case: You ship an event-driven service where handlers intermittently fail; this Skill helps you design retry queues, DLQ routing, and the deployment-safe topology so failed messages don’t get lost or loop forever.
Quick Start
Apply this skill when designing a RabbitMQ publisher/subscriber pair and specify retry and DLQ behavior through Definitions, then implement the subscriber using NewSubscriber2 with MaxRetries and the retry queue wired back to the main exchange/queue.