The fastest, most reliable, Redis-based distributed queue for Node.
Carefully written for rock solid stability and atomicity.
Follow @manast for Bull news and updates!
Which other languages would you like to see BullMQ ported to, Python, PHP, Java or C#?
Please vote here: https://twitter.com/manast/status/1318168684049977345
Super charge your queues with a profesional front end and optional Redis hosting:
- 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
Install:
$ yarn add bullmq
Add jobs to the queue:
import { Queue } from 'bullmq';
const queue = new Queue('Paint');
queue.add('cars', { color: 'blue' });
Process the jobs in your workers:
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:
import { QueueEvents } from 'bullmq';
const queueEvents = new QueueEvents('Paint');
queueEvents.on('completed', jobId => {
console.log('done painting');
});
queueEvents.on('failed', (jobId, err) => {
console.error('error painting', err);
});
This is just scratching the surface, check all the features and more in the official documentation
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.