BeanstalkD
Beanstalk is a simple, fast work queue. (by beanstalkd)
Gearman
By gearman
Our great sponsors
BeanstalkD | Gearman | |
---|---|---|
14 | 2 | |
6,467 | 723 | |
0.4% | 0.7% | |
0.0 | 5.7 | |
5 months ago | 13 days ago | |
C | C++ | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
BeanstalkD
Posts with mentions or reviews of BeanstalkD.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-12-24.
-
Ruby 3.3
There's beanstalkd, it has a few Python libraries and it works out of the box with ActiveJob via Backburner.
-
A Developer's Journal: Simplifying the Twelve-Factor App
Messaging/Queueing Systems (Amazon SQS, RabbitMQ, Beanstalkd)
- Load Balancing
-
SQL Maxis: Why We Ditched RabbitMQ and Replaced It with a Postgres Queue
Not when a queue is involved. IME trying to replicate something like beanstalkd (https://beanstalkd.github.io/) in postgres is asking for trouble for anything but trivial workloads.
If you're measuring throughput in jobs/s, use a real work queue.
-
Christmas giveaway: 10 copies of my book Domain-driven Design with Golang book, also AMA
Before Kafka was a standard, I created a go library for beanstalkd that act like an RPC.
-
PHP parallel processing idea
Then there are queue libraries like beanstalkd, RabbitMQ or built-in features like queues from Laravel. These will probably get you quicker to your goal then trying the process managing route.
- How to do distributed cronjobs with worker queues?
-
Write Your Own Task Queue
The only task queue I loved was beanstalkd -- it's beautifully written and highly performant. Starting it takes seconds and it's been running for a decade:
- Golang task queue
-
What are some popular background job processing frameworks in the Rust ecosystem?
It's not rust (it's C), but beanstalkd is a pretty incredible work queue that processes millions of jobs a day (10K+/s at peak) for my company. I know there are a few rust drivers available.
Gearman
Posts with mentions or reviews of Gearman.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-07.
-
[D] What are the compute options you've considered for your projects?
I am a fan of Gearman to schedule and dispatch distributed jobs, Redis as a collaborative blackboard, and GlusterFS to share models across multiple systems and make bulk data available across the entire system (usually referenced in the blackboard as a pathname).
-
How do you deal with process heavy, long execution time for loops?
At work we typically use Gearman (http://gearman.org/) or Symfony messenger (https://symfony.com/doc/current/messenger.html) to queue up a batch of jobs. And then we use supervisord (http://supervisord.org/) to keep a pool of PHP processes running to process the jobs.
What are some alternatives?
When comparing BeanstalkD and Gearman you can also consider the following projects:
RabbitMQ - Open source RabbitMQ: core server and tier 1 (built-in) plugins
celery - Distributed Task Queue (development branch)
Apache Kafka - Mirror of Apache Kafka
NATS - High-Performance server for NATS.io, the cloud and edge native messaging system.
nsq - A realtime distributed messaging platform
Sidekiq - Simple, efficient background processing for Ruby
Redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.
supervisor - Supervisor process control system for Unix (supervisord)