Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
B

bullmq

> 数据库
Open source

BullMQ - Message Queue and Batch processing for NodeJS, Python, .NET, Elixir, Rust and PHP based on Redis or PostgreSQL

9.2K stars0 likes0 views
WebsiteGitHub

About

BullMQ - Message Queue and Batch processing for NodeJS, Python, .NET, Elixir, Rust and PHP based on Redis or PostgreSQL

# Tutorials You can find tutorials and news in this blog: https://blog.taskforce.sh/ # News ## Language agnostic BullMQ BullMQ is available natively in multiple languages: - **Node.js / Bun** — This repository (`npm install bullmq`) - **Python** — [`python/`](./python) directory (`pip install bullmq`) - **Rust** — [`rust/`](./rust) directory (`cargo add bullmq-official --rename bullmq`) - **Elixir** — [`elixir/`](./elixir) directory (`{:bullmq, "~> x.x"}`) - **.Net** — [`dotnet/`](./dotnet) directory (`dotnet add package BullMQ`) - **PHP** — [`php/`](./php) directory For other platforms, check out the [BullMQ Proxy](https://github.com/taskforcesh/bullmq-proxy). # Official FrontEnd [](https://taskforce.sh) Supercharge your queues with a professional front end: - Get a complete overview of all your queues. - Inspect jobs, search, retry, or promote delayed jobs. - Metrics and statistics. - and many more features. Sign up at [Taskforce.sh](https://taskforce.sh) # Sponsors
Dragonfly is a new Redis™ drop-in replacement that is fully compatible with BullMQ and brings some important advantages over Redis™ such as massive better performance by utilizing all CPU cores available and faster and more memory efficient data structures. Read more here on how to use it with BullMQ.
# Used by Some notable organizations using BullMQ:
# The gist Install: ``` $ yarn add bullmq ``` If you use the node-redis adapter (`createNodeRedisClient`), install `redis` v5 or newer (`redis >= 5.0.0`). If you use the Valkey Glide adapter (`createValkeyGlideClient`), install `@valkey/valkey-glide`. Add jobs to the queue: ```ts import { Queue } from 'bullmq'; const queue = new Queue('Paint'); queue.add('cars', { color: 'blue' }); ``` Process the jobs in your workers: ```ts import { Worker } from 'bullmq'; const worker = new Worker('Paint', async job => { if (job.name === 'cars') { await paintCar(job.data.color); } }); ``` Listen to jobs for completion: ```ts import { QueueEvents } from 'bullmq'; const queueEvents = new QueueEvents('Paint'); queueEvents.on('completed', ({ jobId }) => { console.log('done painting'); }); queueEvents.on( 'failed', ({ jobId, failedReason }: { jobId: string; failedReason: string }) => { console.error('error painting', failedReason); }, ); ``` Adds jobs with parent-child relationship: ``` … ``` This is just scratching the surface, check all the features and more in the official documentation # Feature Comparison Since there are a few job queue solutions, here is a table comparing them: | Feature | [BullMQ-Pro](https://bullmq.io/#bullmq-pro) | [BullMQ](https://bullmq.io) | Bull | Kue | Bee | Agenda | | :------------------------- | :-----------------------------------------: | :-------------------------: | :-------------: | :---: | -------- | ------ | | Backend | redis | redis | redis | redis | redis | mongo | | Observables | ✓ | | | | | | | Group Rate Limit | ✓ | | | | | | | Group Support | ✓ | | | | | | | Batches Support | ✓ | | | | | | | Parent/Child Dependencies | ✓ | ✓ | | | | | | Deduplication (Debouncing) | ✓ | ✓ | ✓ | | | | | Deduplication (Throttling) | ✓ | ✓ | ✓ | | | | | Priorities | ✓ | ✓ | ✓ | ✓ | | ✓ | | Concurrency | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | Delayed jobs | ✓ | ✓ | ✓ | ✓ | | ✓ | | Global events | ✓ | ✓ | ✓ | ✓ | | | | Rate Limiter | ✓ | ✓ | ✓ | | | | | Pause/Resume | ✓ | ✓ | ✓ | ✓ | | | | Sandboxed worker | ✓ | ✓ | ✓ | | | | | Repeatable jobs | ✓ | ✓ | ✓ | | | ✓ | | Atomic ops | ✓ | ✓ | ✓ | | ✓ | | | Persistence | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | UI | ✓ | ✓ | ✓ | ✓ | | ✓ | | Optimized for | Jobs / Messages | Jobs / Messages | Jobs / Messages | Jobs | Messages | Jobs | ## Contributing Fork the repo, make some changes, submit a pull-request! Here is the [contributing](https://github.com/taskforcesh/bullmq/blob/master/contributing.md) doc that has more details. # Thanks Thanks for all the contributors that made this library possible, also a special mention to Leon van Kammen that kindly donated his npm bullmq repo.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

TypeScriptbackground-jobselixirnodejsphp

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category数据库
PricingOpen source

> Related tools

P
PostgreSQL
功能强大的开源关系型数据库
R
Redis
内存数据结构存储,常用作缓存与队列
M
MySQL
广泛使用的开源关系型数据库