SkillAgentSearch skills...

Bull

Premium Queue package for handling distributed jobs and messages in NodeJS.

Install / Use

/learn @OptimalBits/Bull
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center"> <br/> <img src="./support/logo@2x.png" width="300" /> <br/> <br/> <p> The fastest, most reliable, Redis-based queue for Node. <br/> Carefully written for rock solid stability and atomicity. </p> <br/> <p> <a href="#-sponsors-"><strong>Sponsors</strong></a> · <a href="#bull-features"><strong>Features</strong></a> · <a href="#uis"><strong>UIs</strong></a> · <a href="#install"><strong>Install</strong></a> · <a href="#quick-guide"><strong>Quick Guide</strong></a> · <a href="#documentation"><strong>Documentation</strong></a> </p> <p>Check the new <a href="https://optimalbits.github.io/bull/"><strong>Guide!</strong></p> <br/> <p> <a href="https://gitter.im/OptimalBits/bull"> <img src="https://badges.gitter.im/Join%20Chat.svg"/> </a> <a href="https://join.slack.com/t/bullmq/shared_invite/zt-1nbtpk6mv-TItWpF9jf3k4yrCaS0PPZA"> <img src="https://img.shields.io/badge/Slack-4A154B"/> </a> <a href="http://badge.fury.io/js/bull"> <img src="https://badge.fury.io/js/bull.svg"/> </a> <a href="https://coveralls.io/github/OptimalBits/bull?branch=master"> <img src="https://coveralls.io/repos/github/OptimalBits/bull/badge.svg?branch=master"/> </a> <a href="http://isitmaintained.com/project/OptimalBits/bull"> <img src="http://isitmaintained.com/badge/open/optimalbits/bull.svg"/> </a> <a href="http://isitmaintained.com/project/OptimalBits/bull"> <img src="http://isitmaintained.com/badge/resolution/optimalbits/bull.svg"/> </a> <a href="https://twitter.com/manast"> <img src="https://img.shields.io/twitter/follow/manast?label=Stay%20updated&style=social"/> </a> </p> </div>

🚀 Sponsors 🚀

<table cellspacing="0" cellpadding="0" border="0"> <tr> <td> <a href="https://www.dragonflydb.io/"> <img src="https://raw.githubusercontent.com/dragonflydb/dragonfly/main/.github/images/logo-full.svg" width=550 alt="Dragonfly" /> </a> </td> <td> 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 <a href="https://www.dragonflydb.io/docs/integrations/bullmq">here</a> on how to use it with BullMQ. </td> </tr> </table>

📻 News and updates

Bull is currently in maintenance mode, we are only fixing bugs. For new features check BullMQ, a modern rewritten implementation in Typescript. You are still very welcome to use Bull if it suits your needs, which is a safe, battle tested library.

Follow me on Twitter for other important news and updates.

🛠 Tutorials

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


Used by

Bull is popular among large and small organizations, like the following ones:

<table cellspacing="0" cellpadding="0"> <tr> <td valign="center"> <a href="https://github.com/atlassian/github-for-jira"> <img src="https://876297641-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUuDmt_xXMfG66Rn1GA%2Fuploads%2FevsJCF6F1tx1ScZwDQOd%2FAtlassian-horizontal-blue-rgb.webp?alt=media&token=2fcd0528-e8bb-4bdd-af35-9d20e313d1a8" width="150" alt="Atlassian" /></a> </td> <td valign="center"> <a href="https://github.com/Autodesk"> <img src="https://876297641-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUuDmt_xXMfG66Rn1GA%2Fuploads%2FvpTe02RdOhUJBA8TdHEE%2Fautodesk-logo-white.png?alt=media&token=326961b4-ea4f-4ded-89a4-e05692eec8ee" width="150" alt="Autodesk" /></a> </td> <td valign="center"> <a href="https://github.com/common-voice/common-voice"> <img src="https://876297641-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUuDmt_xXMfG66Rn1GA%2Fuploads%2F4zPSrubNJKViAzUIftIy%2Fmozilla-logo-bw-rgb.png?alt=media&token=9f93aae2-833f-4cc4-8df9-b7fea0ad5cb5" width="150" alt="Mozilla" /></a> </td> <td valign="center"> <a href="https://github.com/nestjs/bull"> <img src="https://876297641-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUuDmt_xXMfG66Rn1GA%2Fuploads%2FfAcGye182utFUtPKdLqJ%2FScreenshot%202022-02-15%20at%2011.32.39.png?alt=media&token=29feb550-f0bc-467d-a290-f700701d7d15" width="150" alt="Nest" /></a> </td> <td valign="center"> <a href="https://github.com/salesforce/refocus"> <img src="https://876297641-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUuDmt_xXMfG66Rn1GA%2Fuploads%2FZNnYNuL5qJ6ZoBh7JJEW%2Fsalesforce-logo.png?alt=media&token=ddcae63b-08c0-4dd4-8496-3b29a9bf977d" width="100" alt="Salesforce" /></a> </td> </tr> </table>

Official FrontEnd

<img src="http://taskforce.sh/assets/logo_square.png" width="100" alt="Taskforce.sh, Inc" style="padding: 100px"/>

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


Bull Features

  • [x] Minimal CPU usage due to a polling-free design.
  • [x] Robust design based on Redis.
  • [x] Delayed jobs.
  • [x] Schedule and repeat jobs according to a cron specification.
  • [x] Rate limiter for jobs.
  • [x] Retries.
  • [x] Priority.
  • [x] Concurrency.
  • [x] Pause/resume—globally or locally.
  • [x] Multiple job types per queue.
  • [x] Threaded (sandboxed) processing functions.
  • [x] Automatic recovery from process crashes.

And coming up on the roadmap...

  • [ ] Job completion acknowledgement (you can use the message queue pattern in the meantime).
  • [ ] Parent-child jobs relationships.

UIs

There are a few third-party UIs that you can use for monitoring:

BullMQ

Bull v3

Bull <= v2


Monitoring & Alerting


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 | ✓ | | | | | | | Batches 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 |

Install

npm install bull --save

or

yarn add bull

Requirements: Bull requires a Redis version greater than or equal to 2.8.18.

Typescript Definitions

npm install @types/bull --save-dev
yarn add --dev @types/bull

Definitions are currently maintained in the DefinitelyTyped repo.

Contributing

We welcome all types of contributions, either code fixes, new features or doc improvements. Code formatting is enforced by prettier. For commits please follow conventional [comm

View on GitHub
GitHub Stars16.2k
CategoryDevelopment
Updated18h ago
Forks1.4k

Languages

JavaScript

Security Score

85/100

Audited on Mar 27, 2026

No findings