BullMQ
Redis-based job queue for Node.js background processing
Overview
BullMQ is the most mature and feature-complete job queue for Node.js. Built on Redis, it provides the primitives needed for production background processing: job priorities, delayed execution, rate limiting, configurable retries, and job dependencies.
For teams that need full control over their job processing infrastructure, BullMQ provides it. You run the workers, configure the concurrency, and control exactly how jobs are processed. This control is essential for applications with specific performance or compliance requirements.
The architecture is straightforward: your application adds jobs to Redis queues, and worker processes pick them up for execution. Scaling is as simple as running more workers. Redis handles the coordination, ensuring each job is processed exactly once even across multiple workers.
Key Features
Redis-Based
Reliable distributed processing built on Redis
Job Priorities
Process high-priority jobs first with configurable levels
Rate Limiting
Control processing speed to respect external API limits
Delayed Jobs
Schedule jobs for future execution with precise timing
Job Dependencies
Define parent-child relationships between jobs
Repeatable Jobs
Cron-based recurring job scheduling
Why We Recommend BullMQ
When clients need self-hosted job processing with full control over execution, BullMQ is our choice. The Redis foundation is proven, the feature set is comprehensive, and the Node.js integration is seamless.