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 7.2K GitHub stars and 734 GitHub forks. Here’s a link to Bull's open source repository on GitHub
Who uses Bull?
5 companies reportedly use Bull in their tech stacks, including Tuup Backend, Gridify, and Bullet Train.
7 developers on StackShare have stated that they use Bull.
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.
It is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites. It includes Adaptive process spawning, Advanced process management with graceful stop/start, Emergency restart in case of accidental opcode cache destruction etc.