- Home
- Task Queue Software
- Gearman
Gearman
What it is
Gearman is a free, open-source application framework for distributing work among machines or processes. A client submits jobs, a job server routes them, and a worker performs them, allowing parallel processing and load balancing. Jobs can run asynchronously in the background or receive priorities. Clients and workers may use different language interfaces when they understand the same workload; listed interfaces include C, C#/.NET, Go, Java, Node.js, PHP, Perl, Python, Ruby, Rust, and Lisp. Messages can reach 4 GB, with larger messages split into chunks. Clients and workers can connect to multiple job servers and fail over if one stops. The C job server supports persistent queues. MySQL and PostgreSQL functions expose client calls to queries, triggers, and stored procedures, while the pure Perl API supports SSL. Gearman is self-hosted for Linux and Windows, with an API option. It is free at no cost under the BSD license. GearmanSharp is incomplete and does not implement the full protocol.
For and against
For
- Supports asynchronous and prioritized jobs
- Works across many programming languages
- Handles messages up to 4 GB
- Supports failover across job servers
- Offers persistent queues and database integrations
Against
- GearmanSharp does not implement the full protocol
- No scheduled jobs are listed
- Self-hosted deployment requires management
The verdict
Gearman provides a language-flexible framework for routing jobs between clients, servers, and workers. Its free BSD-licensed model and failover options suit self-hosted distributed processing, while the incomplete GearmanSharp interface is an important limitation for .NET users.
Who it suits
Gearman suits developers building distributed, parallel, or load-balanced workloads across Linux, Windows, or self-hosted environments. It also fits teams needing multilingual clients and workers or persistent queues.
Plans and prices
Gearman open-source software
self-hosted job server · client and worker APIs · BSD-licensed components
Read 15 Oct 2026 · gearman.org
Gearman
Open source · BSD license
Read 7 Oct 2026 · gearman.org
On the record
- Architecture
- A Gearman deployment has clients that submit jobs, a job server that routes them, and workers that execute them and return results.gearman.org · read 15 Oct 2026
- Build requirements
- The Ubuntu build guide lists GCC, autoconf, bison, flex, libtool, make, Boost, libcurl, libevent, memcached, UUID, SQLite, and MySQL development packages.gearman.org · read 15 Oct 2026
- Command-line interface
- The Ubuntu manpage documents command-line client and worker modes, background and priority options, multiple servers, timeouts, and worker counts.manpages.ubuntu.com · read 15 Oct 2026
- Cross-language execution
- Clients and workers can use different language APIs while communicating through the same Gearman protocol.gearman.org · read 15 Oct 2026
- Cross-language work
- Clients and workers can use different language interfaces as long as their applications understand the workload being sent.gearman.org · read 7 Oct 2026
- Database integration
- MySQL and PostgreSQL UDF packages expose Gearman client calls to SQL queries, triggers, and stored procedures.gearman.org · read 15 Oct 2026
- Database integrations
- The download page lists MySQL and PostgreSQL user-defined functions that expose Gearman client calls to SQL queries, triggers, and stored procedures.gearman.org · read 7 Oct 2026
- Documentation depth
- The documentation site includes getting started material, a manual, protocol specifications, generated gearmand documentation, libgearman references, install guides, SSL instructions, and changelogs.gearman.org · read 15 Oct 2026
- Fault tolerance
- Multiple job servers can be configured so clients and workers fail over when one server becomes unavailable.gearman.org · read 15 Oct 2026
- Homebrew packaging
- Homebrew identifies gearman as the gearmand application, labels it BSD-3-Clause licensed, and provides bottles for macOS and Linux architectures.formulae.brew.sh · read 15 Oct 2026
- HTTP integration
- An HTTP protocol plugin maps GET and POST requests to Gearman jobs, but the documentation marks it experimental.gearman.org · read 15 Oct 2026
- Installation methods
- The getting-started guide covers RHEL/Fedora and Debian/Ubuntu packages, Windows installation, source tarballs, and Git checkout builds.gearman.org · read 15 Oct 2026
- Job modes
- Gearman supports background asynchronous jobs and prioritized jobs.gearman.org · read 7 Oct 2026
- Language APIs
- Official downloads list C, C#/.NET, Go, Java, Lisp, Node.js, PHP, Perl, Python, Ruby, Rust, database UDFs, and shell tooling.gearman.org · read 15 Oct 2026
- Language support
- The project lists client and worker interfaces for languages including C, C#/.NET, Go, Java, Node.js, PHP, Perl, Python, Ruby, and Rust.gearman.org · read 7 Oct 2026
- Latest release
- GitHub lists gearmand 2.1.0 as an August 2026 feature and bug-fix release improving thread safety, connection lifecycle reliability, OpenSSL diagnostics, health checks, and persistent-storage plugins.github.com · read 15 Oct 2026
- Licence
- The project describes itself as open source and BSD licensed; the C server and libgearman are specifically identified as BSD licensed.gearman.org · read 15 Oct 2026
- Limit: configuration guidance
- A project maintainer on the mailing list said Gearman had suffered prolonged silence and advised listing all job servers in every client and worker configuration for failover and distribution.groups.google.com · read 15 Oct 2026