Gathering detailed insights and metrics for bullmq
Gathering detailed insights and metrics for bullmq
Gathering detailed insights and metrics for bullmq
Gathering detailed insights and metrics for bullmq
BullMQ - Message Queue and Batch processing for NodeJS and Python based on Redis
npm install bullmq
Typescript
Module System
Node Version
NPM Version
63.6
Supply Chain
100
Quality
94.9
Maintenance
100
Vulnerability
99.3
License
TypeScript (81.86%)
Lua (9.07%)
Python (8.83%)
JavaScript (0.19%)
Shell (0.05%)
Total Downloads
63,845,079
Last Day
39,768
Last Week
542,925
Last Month
3,250,396
Last Year
33,822,091
6,338 Stars
2,689 Commits
414 Forks
33 Watching
34 Branches
152 Contributors
Latest Version
5.34.5
Package Id
bullmq@5.34.5
Unpacked Size
1.82 MB
Size
287.72 kB
File Count
800
NPM Version
10.9.0
Node Version
22.12.0
Publised On
25 Dec 2024
Cumulative downloads
Total Downloads
Last day
-72.8%
39,768
Compared to previous day
Last week
-29.6%
542,925
Compared to previous week
Last month
-3.5%
3,250,396
Compared to previous month
Last year
74.9%
33,822,091
Compared to previous year
56
The fastest, most reliable, Redis-based distributed queue for Node.
Carefully written for rock solid stability and atomicity.
Follow @manast for *important* Bull/BullMQ/BullMQ-Pro news and updates!
You can find tutorials and news in this blog: https://blog.taskforce.sh/
Do you need to work with BullMQ on platforms other than Node.js? If so, check out the BullMQ Proxy
Supercharge your queues with a professional front end:
Sign up at Taskforce.sh
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. |
Some notable organizations using BullMQ:
Install:
$ yarn add bullmq
Add jobs to the queue:
1import { Queue } from 'bullmq'; 2 3const queue = new Queue('Paint'); 4 5queue.add('cars', { color: 'blue' });
Process the jobs in your workers:
1import { Worker } from 'bullmq';
2
3const worker = new Worker('Paint', async job => {
4 if (job.name === 'cars') {
5 await paintCar(job.data.color);
6 }
7});
Listen to jobs for completion:
1import { QueueEvents } from 'bullmq'; 2 3const queueEvents = new QueueEvents('Paint'); 4 5queueEvents.on('completed', ({ jobId }) => { 6 console.log('done painting'); 7}); 8 9queueEvents.on( 10 'failed', 11 ({ jobId, failedReason }: { jobId: string; failedReason: string }) => { 12 console.error('error painting', failedReason); 13 }, 14);
This is just scratching the surface, check all the features and more in the official documentation
Since there are a few job queue solutions, here is a table comparing them:
Feature | BullMQ-Pro | BullMQ | Bull | Kue | Bee | Agenda |
---|---|---|---|---|---|---|
Backend | redis | redis | redis | redis | redis | mongo |
Observables | ✓ | |||||
Group Rate Limit | ✓ | |||||
Group Support | ✓ | |||||
Batches Support | ✓ | |||||
Parent/Child Dependencies | ✓ | ✓ | ||||
Debouncing | ✓ | ✓ | ✓ | |||
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 |
Fork the repo, make some changes, submit a pull-request! Here is the contributing doc that has more details.
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.
No vulnerabilities found.
Reason
no dangerous workflow patterns detected
Reason
30 commit(s) and 6 issue activity found in the last 90 days -- score normalized to 10
Reason
no binaries found in the repo
Reason
license file detected
Details
Reason
packaging workflow detected
Details
Reason
SAST tool detected but not run on all commits
Details
Reason
dependency not pinned by hash detected -- score normalized to 5
Details
Reason
Found 7/26 approved changesets -- score normalized to 2
Reason
detected GitHub workflow tokens with excessive permissions
Details
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
Reason
project is not fuzzed
Details
Reason
10 existing vulnerabilities detected
Details
Score
Last Scanned on 2024-12-16
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More