Neat! Pickled Muskrat!

    bullmq
    TypeScript icon, indicating that this package has built-in type declarations

    1.82.2 • Public • Published



    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.

    Install

    npm i bullmq

    DownloadsWeekly Downloads

    109,024

    Version

    1.82.2

    License

    MIT

    Unpacked Size

    975 kB

    Total Files

    425

    Last publish

    Collaborators

    • manast