Gearman
gearman.org
What it is
Gearman is a free, self-hosted application framework for distributing work across 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 workload; listed interfaces include C, C#/.NET, Go, Java, Node.js, PHP, Perl, Python, Ruby, Rust, and Lisp. Messages can reach 4 GB, with chunking for larger messages. Clients and workers can connect to multiple job servers and fail over when one dies. 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 runs on Linux and Windows, offers API access, and is licensed under BSD. GearmanSharp is incomplete.
Spec sheet
- What it does
- Gearman distributes work to other machines or processes for parallel execution, load balancing, and cross-language function calls.Read 15 Oct 2026 · gearman.org
- Security
- The download page says the pure Perl Gearman client and worker API supports SSL.Read 7 Oct 2026 · gearman.org
- Support
- The project directs users to its Google Groups mailing list and Matrix chat.Read 7 Oct 2026 · gearman.org
- Founded
- 2005Read 28 Sep 2026 · gearman.org
- Architecture
- A Gearman deployment has clients that submit jobs, a job server that routes them, and workers that execute them and return results.Read 15 Oct 2026 · gearman.org
- Build requirements
- The Ubuntu build guide lists GCC, autoconf, bison, flex, libtool, make, Boost, libcurl, libevent, memcached, UUID, SQLite, and MySQL development packages.Read 15 Oct 2026 · gearman.org
- Command-line interface
- The Ubuntu manpage documents command-line client and worker modes, background and priority options, multiple servers, timeouts, and worker counts.Read 15 Oct 2026 · manpages.ubuntu.com
- Cross-language execution
- Clients and workers can use different language APIs while communicating through the same Gearman protocol.Read 15 Oct 2026 · gearman.org
- Cross-language work
- Clients and workers can use different language interfaces as long as their applications understand the workload being sent.Read 7 Oct 2026 · gearman.org
- Database integration
- MySQL and PostgreSQL UDF packages expose Gearman client calls to SQL queries, triggers, and stored procedures.Read 15 Oct 2026 · gearman.org
- Database integrations
- The download page lists MySQL and PostgreSQL user-defined functions that expose Gearman client calls to SQL queries, triggers, and stored procedures.Read 7 Oct 2026 · gearman.org
- Documentation depth
- The documentation site includes getting started material, a manual, protocol specifications, generated gearmand documentation, libgearman references, install guides, SSL instructions, and changelogs.Read 15 Oct 2026 · gearman.org
- Fault tolerance
- Multiple job servers can be configured so clients and workers fail over when one server becomes unavailable.Read 15 Oct 2026 · gearman.org
- Homebrew packaging
- Homebrew identifies gearman as the gearmand application, labels it BSD-3-Clause licensed, and provides bottles for macOS and Linux architectures.Read 15 Oct 2026 · formulae.brew.sh
- HTTP integration
- An HTTP protocol plugin maps GET and POST requests to Gearman jobs, but the documentation marks it experimental.Read 15 Oct 2026 · gearman.org
- Installation methods
- The getting-started guide covers RHEL/Fedora and Debian/Ubuntu packages, Windows installation, source tarballs, and Git checkout builds.Read 15 Oct 2026 · gearman.org
- Job modes
- Gearman supports background asynchronous jobs and prioritized jobs.Read 7 Oct 2026 · gearman.org
- Language APIs
- Official downloads list C, C#/.NET, Go, Java, Lisp, Node.js, PHP, Perl, Python, Ruby, Rust, database UDFs, and shell tooling.Read 15 Oct 2026 · gearman.org
- 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.Read 7 Oct 2026 · gearman.org
- 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.Read 15 Oct 2026 · github.com
- Licence
- The project describes itself as open source and BSD licensed; the C server and libgearman are specifically identified as BSD licensed.Read 15 Oct 2026 · gearman.org
- 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.Read 15 Oct 2026 · groups.google.com
- Limit: documentation
- The independent deployment report calls job-server documentation insufficient and says some socket keep-alive behavior was undocumented.Read 15 Oct 2026 · eastvisionsystems.com
- Limit: duplicate work after failure
- The independent report warns that a job can repeat database writes if it crashes after partially completing its database operations.Read 15 Oct 2026 · eastvisionsystems.com
- Limit: network security configuration
- A 2014 independent report said Gearman then lacked built-in access security and recommended firewall protection; current official documentation separately describes optional SSL configuration.Read 15 Oct 2026 · eastvisionsystems.com
- Limit: operational complexity
- A Gearman mailing-list user reported uneven worker utilization, queued jobs, stalled status reporting, high CPU use, and inconsistent multi-server statistics.Read 15 Oct 2026 · groups.google.com
- Limit: PHP operations
- A Reddit PHP discussion reports recurring queue errors, historical high-CPU extension bugs, and the operational burden of restarting large numbers of workers during updates.Read 15 Oct 2026 · reddit.com
- Load balancing
- The job server sends new work to available workers, allowing worker pools to scale across machines.Read 15 Oct 2026 · gearman.org
- Message size
- Gearman supports individual messages up to 4 GB and can split larger workloads into chunks.Read 15 Oct 2026 · gearman.org
- Network protocol
- The binary client and worker protocol uses TCP port 4730 by default, with a separate text-based administrative protocol.Read 15 Oct 2026 · gearman.org
- Notable limit
- The download page describes GearmanSharp as incomplete and says it does not yet implement the full protocol.Read 7 Oct 2026 · gearman.org
- Origin
- Official history says Gearman began at Danga Interactive, the company behind LiveJournal, with the first Gearman blog post published in 2005.Read 15 Oct 2026 · gearman.org
- Parallel processing
- Gearman supports parallel and background task execution so application work can run outside the submitting process.Read 15 Oct 2026 · gearman.org
- Persistent queues
- The C job server page lists persistent queues among its supported features.Read 7 Oct 2026 · gearman.org
- PHP SDK
- The PHP manual documents GearmanClient and GearmanWorker classes for submitting jobs, adding servers, and registering worker functions.Read 15 Oct 2026 · php.net
- Praise: reliability
- An independent 2014 deployment report says workers ran for more than a month, recovered from network congestion, and handled failover as expected.Read 15 Oct 2026 · eastvisionsystems.com
- Praise: scaling and features
- The same independent report credits Gearman with persistent, background, and priority jobs, cross-language workers, parallel processing, and adding servers as demand grows.Read 15 Oct 2026 · eastvisionsystems.com
- Priorities and asynchronous work
- The system supports background jobs and high- and low-priority job submission.Read 15 Oct 2026 · gearman.org
- Project news
- The official news page records a July 1, 2016 move of Gearman development to GitHub.Read 15 Oct 2026 · gearman.org
- Queue durability limit
- The official server documentation says in-memory queues lose pending jobs after a crash or restart, while persistent queues apply only to background jobs.Read 15 Oct 2026 · gearman.org
- Recent release
- The project’s GitHub releases page lists gearmand 2.1.0, released in August 2026, with reliability improvements and a client ping option.Read 7 Oct 2026 · github.com
- Server capabilities
- The gearmand server provides threading, persistent queues, and pluggable protocols, with libgearman bundled in the same package.Read 15 Oct 2026 · gearman.org
- TLS support
- Gearmand can be built with SSL support and configured with server and client certificates; non-SSL binaries refuse an SSL startup option.Read 15 Oct 2026 · gearman.org
- Windows installation
- The Getting Started page includes a Windows installation link for Gearman.Read 7 Oct 2026 · gearman.org
Plans and prices
Strong points and limits
Strong points
- Parallel processing and load balancing
- Background and prioritized jobs
- Many client and worker language interfaces
- Failover across multiple job servers
- Messages up to 4096 MB
Limits
- Self-hosted deployment required
- GearmanSharp does not implement full protocol
- No scheduled jobs
Who it suits
Gearman suits developers distributing jobs across processes or machines, including multilingual systems and self-hosted deployments. It supports Linux and Windows installations.
Verdict
Gearman provides a language-flexible job distribution architecture with failover and persistent-queue options. Its free BSD licensing fits teams prepared to operate their own infrastructure.
Where Specifiction places it
- Task Queue Software#4 of 378.8