Bull logo


Premium Queue package for handling jobs and messages in NodeJS

What is Bull?

The fastest, most reliable, Redis-based queue for Node. Carefully written for rock solid stability and atomicity.
Bull is a tool in the Background Processing category of a tech stack.
Bull is an open source tool with 13.8K GitHub stars and 1.4K GitHub forks. Here’s a link to Bull's open source repository on GitHub

Who uses Bull?

24 companies reportedly use Bull in their tech stacks, including Pier, Blaze, and Care.

31 developers on StackShare have stated that they use Bull.

Bull Integrations

Pros of Bull
Automatic recovery from process crashes
Ease of use
Based on Redis

Blog Posts


Bull's Features

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

Bull Alternatives & Comparisons

What are some alternatives to Bull?
Buffalo is Go web framework. Yeah, I hate the word "framework" too! Buffalo is different though. Buffalo doesn't want to re-invent wheels like routing and templating. Buffalo is glue that wraps all of the best packages available and makes them all play nicely together.
Sidekiq uses threads to handle many jobs at the same time in the same process. It does not require Rails but will integrate tightly with Rails 3/4 to make background processing dead simple.
It is an open-source framework that helps you to create, process and manage your background jobs, i.e. operations you don't want to put in your request processing pipeline. It supports all kind of background tasks – short-running and long-running, CPU intensive and I/O intensive, one shot and recurrent.
Background jobs can be any Ruby class or module that responds to perform. Your existing classes can easily be converted to background jobs or you can create new classes specifically to do work. Or, you can do both.
Beanstalks's interface is generic, but was originally designed for reducing the latency of page views in high-volume web applications by running time-consuming tasks asynchronously.
See all alternatives

Bull's Followers
110 developers follow Bull to keep up with related blogs and decisions.