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 11K GitHub stars and 1.2K GitHub forks. Here’s a link to Bull's open source repository on GitHub
Who uses Bull?
16 companies reportedly use Bull in their tech stacks, including Pier, Holman Fleet Marketplace, and Wavy.
25 developers on StackShare have stated that they use Bull.
Pros of Bull
Automatic recovery from process crashes
Ease of use
Based on Redis
Jun 19 2018 at 3:02AM
- 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
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.