About this project
BullMQ is a high-performance, Redis-based distributed message queue and batch processing library designed for Node.js, Python, .NET, Elixir, Rust, and PHP. It is built for rock-solid stability and atomicity, making it suitable for production environments that require reliable background job processing.
The library provides native implementations across multiple languages, each available as a separate package: `npm install bullmq` for Node.js/Bun, `pip install bullmq` for Python, `cargo add bullmq-official` for Rust, `{:bullmq, "~> x.x"}` for Elixir, `dotnet add package BullMQ` for .NET, and a dedicated PHP package. For other platforms, a BullMQ Proxy is available.
Core features include parent-child job dependencies via FlowProducer, which allows building complex job trees with root, child, and grandchild jobs across different queues. Deduplication supports both debouncing and throttling patterns. Jobs can be prioritized, delayed, repeated on schedules, and processed with configurable concurrency. Rate limiting is available at the queue level, and queues can be paused and resumed. Atomic operations ensure data consistency, and all jobs are persisted to Redis.
BullMQ also supports global events for monitoring job lifecycle events such as completed and failed. A sandboxed worker option is available for isolated job execution. The project includes a feature comparison table against other job queue solutions like Bull, Kue, Bee, and Agenda, highlighting BullMQ's broader feature set.
An official frontend is available through Taskforce.sh, providing a professional dashboard to inspect queues, search and retry jobs, promote delayed jobs, and view metrics and statistics. The project is open-source with active community contributions, and sponsors include DragonflyDB, a Redis-compatible drop-in replacement optimized for BullMQ workloads.
Notable organizations using BullMQ include Microsoft (via Lage), Vendure, Datawrapper, NestJS, Langfuse, Curri, Novu, NocoDB, and Infisical. The project follows semantic-release for automated versioning and publishing.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.