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 6K GitHub stars and 590 GitHub forks. Here’s a link to Bull's open source repository on GitHub
Who uses Bull?
4 companies reportedly use Bull in their tech stacks, including Gridify, Bullet Train, and eventOne.
Why developers like Bull?
Here’s a list of reasons why companies and developers use Bull
- 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.
- 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?
See all alternatives
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.
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.
Delayed_job (or DJ) encapsulates the common pattern of asynchronously executing longer tasks in the background. It is a direct extraction from Shopify where the job table is responsible for a multitude of core tasks.
Kue is a feature rich priority job queue for node.js backed by redis. A key feature of Kue is its clean user-interface for viewing and managing queued, active, failed, and completed jobs.