Giter Club home page Giter Club logo

bullmq's Introduction




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

Taskforce.sh, Inc

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:

Microsoft Vendure Datawrapper Curri

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: 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 ๐Ÿš€

RedisGreen

If you need high quality production Redis instances for your BullMQ project, please consider subscribing to RedisGreen, 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 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.

bullmq's People

Contributors

manast avatar roggervalf avatar semantic-release-bot avatar stansv avatar dependabot[bot] avatar bobdercole avatar jbr avatar evolkmann avatar michieldemey avatar arsonik avatar eric-hc avatar athecoder avatar airhorns avatar joebowbeer avatar embraser01 avatar olliechick avatar serge-medvedev avatar ersoma avatar jtfell avatar zhennann avatar onehorsetown avatar 10xjs avatar francescov1 avatar rhinodavid avatar shahabbasi avatar lukepolo avatar m-ronchi avatar codingmeswiftly avatar namoscato avatar nicolasdurandametis avatar

Stargazers

Roman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.