Popularity
7.3
Growing
Activity
9.7
Growing
5,051
28
333

Monthly Downloads: 0
Programming language: TypeScript
License: MIT License
Tags: Job Queues     Queue     Node     Redis     Job    
Latest version: v4.0.0-beta.2

The gist alternatives and similar modules

Based on the "Job Queues" category.
Alternatively, view The gist alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of The gist or a related project?

Add another 'Job Queues' Module

README

The fastest, most reliable, Redis-based distributed queue for Node. Carefully written for rock solid stability and atomicity. Read the documentation
Follow @manast for important Bull/BullMQ news and updates!

๐Ÿ›  Tutorials

You can find tutorials and news in this blog: https://blog.taskforce.sh/

Official FrontEnd

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

Used by

Some notable organizations using BullMQ:

The gist

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, failedReason }: { jobId: string, failedReason: string }) => {
  console.error('error painting', failedReason);
});

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 Bullmq Bull Kue Bee Agenda
Backend redis redis redis redis redis mongo
Observables โœ“
Group Rate Limit โœ“
Group Support โœ“
Parent/Child Dependencies โœ“ โœ“
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

๐Ÿš€ Sponsor ๐Ÿš€

If you need high quality production Redis instances for your BullMQ project, please consider subscribing to Memetria for Redis, leaders in Redis hosting that works perfectly with BullMQ. Use the promo code "BULLMQ" when signing up to help us sponsor the development of BullMQ!

Contributing

Fork the repo, make some changes, submit a pull-request! Here is the [contributing](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.