# BullMQ > BullMQ is the open-source background-job and message-queue system for Redis. > It is the modern successor to the Bull library and powers production job > queues at thousands of companies, processing billions of jobs every day. > BullMQ is implemented natively in every language it supports today > (TypeScript for Node.js and Bun, Python, Elixir, and PHP), with a shared > set of Lua scripts that guarantees identical semantics across runtimes. > A commercial Pro edition adds advanced features such as observables, > batches, parent groups, and dynamic rate limiting. BullMQ implements queues, workers, scheduled jobs, repeatable jobs, delayed jobs, prioritized jobs, rate limiting, job dependencies (Flows), and distributed locking on top of Redis and Redis-compatible servers such as Valkey, KeyDB, Dragonfly, and Upstash. The runtime is intentionally small and the data model is fully inspectable inside Redis. This file follows the [llms.txt](https://llmstxt.org) convention to give language models a structured map of the most useful resources on this site. ## Official documentation - [BullMQ Guide (GitBook)](https://docs.bullmq.io): Comprehensive narrative documentation covering queues, workers, jobs, flows, repeatable jobs, retries, rate limiting, telemetry, and migration from Bull. - [BullMQ API Reference](https://api.docs.bullmq.io): Auto-generated TypeScript API reference for the Node.js / Bun package. - [GitHub repository](https://github.com/taskforcesh/bullmq): Source code, changelog, and issue tracker for the core library and all language clients. ## Articles and guides - [Pluggable Redis Clients in BullMQ](https://bullmq.io/articles/guides/pluggable-redis-clients/): BullMQ now supports three Redis client backends, ioredis, node-redis, and Bun's built-in Redis client, behind a single adapter interface. Pick the one that fits your runtime and dependency footprint. - [Valkey Performance: 7.2 vs 8.1 vs 9.0 on AWS](https://bullmq.io/articles/benchmarks/valkey-performance-across-versions/): We benchmarked BullMQ against three Valkey versions on Intel, AMD, and Graviton instances to find the best combination of performance and cost. - [Step Jobs with Flows in BullMQ](https://bullmq.io/articles/guides/step-jobs-with-flows/): Learn how to break large jobs into sequential steps using BullMQ's Flow feature, where each step runs as an independent job with full retry, logging, and observability support. - [Properly Cancelling Jobs in BullMQ](https://bullmq.io/articles/guides/properly-cancelling-jobs/): Learn how to gracefully cancel running jobs in BullMQ using the AbortController API, including patterns for local and remote cancellation via Redis Pub/Sub. - [BullMQ Python vs RQ Performance Benchmark](https://bullmq.io/articles/benchmarks/bullmq-python-vs-rq/): Benchmark comparing BullMQ Python vs RQ (Redis Queue) for job queue performance in Python. - [BullMQ Elixir vs Oban Performance Benchmark](https://bullmq.io/articles/benchmarks/bullmq-elixir-vs-oban/): Benchmark comparing BullMQ Elixir (Redis) vs Oban (PostgreSQL) for job queue performance. - [BunJS vs NodeJS Benchmark for BullMQ](https://bullmq.io/articles/benchmarks/bunjs-vs-nodejs/): Benchmark comparing BullMQ performance on BunJS vs NodeJS runtimes. - [Top Redis™ Alternatives for 2025](https://bullmq.io/articles/redis/top-redis-alternatives-2025/): How to Choose the Best Redis™ Replacement for Your Application ## Site sections - [Home](https://bullmq.io/): Overview, code examples, and feature highlights. - [Articles](https://bullmq.io/articles/): Long-form articles, benchmarks, and engineering guides. - [News](https://bullmq.io/news/): Release announcements and project updates. - [Use cases](https://bullmq.io/use-cases/): Real-world applications of BullMQ (e-commerce, video processing, email campaigns, IoT, etc.). - [Professional services](https://bullmq.io/services/): Commercial support and consulting from the BullMQ team at Taskforce.sh. - [Careers](https://bullmq.io/careers/): Open positions on the team. ## Optional - [BullMQ Pro](https://taskforce.sh/pro): Commercial edition with batches, observables, parent groups, and dynamic rate limiting. - [Taskforce.sh dashboard](https://taskforce.sh): Hosted UI for monitoring and managing BullMQ queues in production. - [BullMQ on npm](https://www.npmjs.com/package/bullmq): Node.js / Bun package distribution. - [BullMQ on PyPI](https://pypi.org/project/bullmq/): Python client distribution. - [BullMQ on Hex](https://hex.pm/packages/bullmq): Elixir client distribution. - [BullMQ on Packagist](https://packagist.org/packages/taskforcesh/bullmq): PHP client distribution. ## Full-text bundle - [llms-full.txt](https://bullmq.io/llms-full.txt): Single-file concatenation of the full text of every article on this site, intended for one-shot ingestion by language models.