Gearman alternatives and similar tools
Based on the "Queuing" category.
Alternatively, view Gearman alternatives based on common mentions on social networks and blogs.
Kafka9.7 9.9 L2 Gearman VS KafkaMirror of Apache Kafka
NSQ9.4 1.6 Gearman VS NSQA realtime distributed messaging platform
Celery9.4 9.6 L3 Gearman VS CeleryDistributed Task Queue (development branch)
Sidekiq8.9 7.9 L5 Gearman VS SidekiqSimple, efficient background processing for Ruby
RabbitMQ8.9 9.9 Gearman VS RabbitMQOpen source RabbitMQ: core server and tier 1 (built-in) plugins
NATS8.7 9.6 Gearman VS NATSHigh-Performance server for NATS.io, the cloud and edge native messaging system.
ZeroMQ8.5 6.1 L2 Gearman VS ZeroMQZeroMQ core engine in C++, implements ZMTP/3.1
rq8.3 9.3 L3 Gearman VS rqSimple job queues for Python
Resque8.3 6.5 L5 Gearman VS ResqueResque is a Redis-backed Ruby library for creating background jobs, placing them on multiple queues, and processing them later.
Kue8.2 0.0 L4 Gearman VS KueKue is a priority job queue backed by redis, built for node.js.
Disque8.1 0.0 L2 Gearman VS DisqueDisque is a distributed message broker
BeanstalkD7.8 0.0 L3 Gearman VS BeanstalkDBeanstalk is a simple, fast work queue.
Nanomsg7.8 5.3 L3 Gearman VS Nanomsgnanomsg library
ActiveMQ7.0 9.5 L2 Gearman VS ActiveMQMirror of Apache ActiveMQ
huey7.0 6.6 L5 Gearman VS hueya little task queue for python
Chronicle Queue6.8 6.9 L2 Gearman VS Chronicle QueueMicro second messaging that stores everything to disk
Darner4.9 0.0 L3 Gearman VS Darnersimple, lightweight message queue
pg-boss4.9 7.4 Gearman VS pg-bossQueueing jobs in Node.js using PostgreSQL like a boss
HornetQ4.1 0.0 Gearman VS HornetQHornetQ is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system.
Siberite3.9 0.0 Gearman VS SiberiteSiberite is a simple, lightweight, leveldb backed message queue written in Go.
The Apollo Project3.3 0.0 L3 Gearman VS The Apollo ProjectActiveMQ Apollo is a faster, more reliable, easier to maintain messaging broker built from the foundations of the original ActiveMQ.
Apache Qpid3.2 0.0 L1 Gearman VS Apache QpidMirror of Apache Qpid
Access the most powerful time series database as a service
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Gearman or a related project?
The latest version of
gearmand source code and versions 1.1.13 and later can be found at GitHub Repository. Older versions released before 1.1.13 can be found at Launchpad Repository.
You can grab the latest release distribution of Gearman from https://github.com/gearman/gearmand/releases. Unless otherwise specified, releases are GPG-signed by Clint Byrum, whose public key can be found at https://fewbar.com/clint-byrum-public-key/.
What Is Gearman?
Gearman provides a generic application framework to farm out work to other machines or processes that are better suited to do the work. It allows you to do work in parallel, to load balance processing, and to call functions between languages. Gearman is the nervous system for how distributed processing communicates.
If you downloaded this package as a
tar.gz distribution you'll want to read Getting Started section below or visit the more detailed web page Getting Started
If you are interested in developing or submitting patches to the project, read the Contributing section below and check out the HACKING file for Coding Style and COPYING for details on licensing.
If you want to work on the latest code, please read the file HACKING.
To build a release version from a tarball (
.tgz), you can follow the normal:
Change into the directory where you saved the tarball and run:
tar xzf gearmand-X.Y.tar.gz cd gearmand-X.Y
Then run the usual autoconfigure style build (you may need to use
sudo to install):
./configure make make install
You can also run
make test before installing to make sure everything
checks out ok. You can also streamline the process of building and testing by running:
./configure && make && make test make install
Once you have it installed, you can start the Gearman job server with:
gearmand --verbose INFO
This will start it while printing some verbose messages. To try running a job through it, look in the examples/ directory of this source and run:
Once that is running, you can run your first job with:
./reverse_client "Hello, Gearman!"
If all goes well, the reverse_worker application should have output:
Job=H:lap:1 Workload=Hello, Gearman! Result=!namraeG ,olleH
While the reverse_client returned:
There are a lot more details about gearmand at Getting Started.
If you want to start writing your own client and workers, be sure to check out the Developer API documentation.
There are also many other Useful Resources to help you put gearmand to work for you!
The current versions of geamand are maintained on our GitHub Repo for gearmand.
If you are not familiar with
git, you can find more info at Getting Started with Git.
Please follow these instructions to clone, create a branch, and generate a pull request on that branch. More details on using GitHub can be found at GitHub Help.
Clone the GitHub repository to your local file system:
git clone https://github.com/gearman/gearmand
If you do not have access to create branches in the gearmand GitHub repository, you will probably want to fork the repository and clone your fork instead. Refer to Contributing to Open Source on GitHub for details.
Next, think of a clear, descriptive branch name and then create a new branch and change to it:
cd gearmand git checkout -b DESCRIPTIVE_BRANCH_NAME
Once the tree is branched you will need to generate the "configure" script for autoconfigure.
Finally, you are ready to run tests, make changes to the code, commit and push them to GitHub, and generate a pull request on your branch so we can consider your changes.
You can learn more about how to Create a Pull Request and Create a Pull Request from a Fork.
But Wait! There's More!
Once you have made your changes there are two additional
make targets to build release ready distributions:
To generate a tarball distribution of your code:
Or to generate an RPM distribution use:
Thanks and keep hacking!