百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
B

bullmq

> 数据库
开源

BullMQ - 基于 Redis 或 PostgreSQL 的用于 NodeJS、Python、.NET、Elixir、Rust 和 PHP 的消息队列和批量处理

9.2K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

BullMQ - 基于 Redis 或 PostgreSQL 的用于 NodeJS、Python、.NET、Elixir、Rust 和 PHP 的消息队列和批量处理

# 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 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

TypeScriptbackground-jobselixirnodejsphp

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类数据库
定价开源

> 相关工具

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