What problem does it solve? Setting up background job processing with BullMQ involves non-obvious production pitfalls: shared Redis connections cause deadlocks, default worker concurrency of 1 bottlenecks throughput, and failed jobs vanish without a dead letter queue. This Skill provides a complete, correct-by-default architecture for BullMQ-based background job systems. ## Core Features & Use Cases - Queue Architecture: Enforces one queue per job type with separate ioredis connections for Queue, Worker, and QueueEvents roles, plus a concurrency sizing formula based on rate limits and job duration. - Failure Handling: Implements exponential backoff retries, dead letter queues with replay support, and graceful worker shutdown that drains active jobs before closing. - Advanced Patterns: Covers dependent job flows with FlowProducer, cron-based recurring jobs with stable jobIds, rate limiting for external API quotas, and Bull Board monitoring UI behind authentication. - Use Case: You need to send transactional emails, generate PDFs, and call LLM APIs in the background without one slow job type blocking the others. This Skill produces isolated queues with correctly sized workers, a DLQ for failed jobs, and a monitoring dashboard. ## Quick Start Ask the AI to set up a BullMQ background job architecture for your task, for example: "Set up BullMQ queues for email dispatch and PDF generation with a dead letter queue and Bull Board monitoring."