gearmand - Gearman client/worker connector.


 gearmand --daemon


You run the gearmand server (or more likely, many of them for both high-availability and load balancing), then have workers (using Gearman::Worker from the Gearman module) register their ability to do certain functions to all of them, and then clients (using either the blocking or async versions) request work to be done from one of the gearmand servers.

The servers connects them, multiplexing duplicate requests as requested, etc.



Make the daemon run in the background (good for init.d scripts, bad for running under daemontools/supervise).

--port=7003 / -p 7003

Set the port number, defaults to 7003.


Write a pidfile when starting up


Enable debugging (currently the only debug output is when a client or worker connects).


Copyright 2005-2007, Danga Interactive

You are granted a license to use it under the same terms as Perl itself.




Brad Fitzpatrick <>

Brad Whitaker <>

Line based commands

These commands are used for administrative or statistic tasks to be done on the gearman server. They can be entered using a line based client (telnet, etc.) by connecting to the listening port (7003) and are also intended to be machine parsable.


Docs to be done later for this function, read the source for this one. Nyah nyah.


The output format of this function is tab separated columns as follows, followed by a line consisting of a fullstop and a newline (".\n") to indicate the end of output.

Function name

A string denoting the name of the function of the job

Number in queue

A positive integer indicating the total number of jobs for this function in the queue. This includes currently running ones as well (next column)

Number of jobs running

A positive integer showing how many jobs of this function are currently running

Number of capable workers

A positive integer denoting the maximum possible count of workers that could be doing this job. Though they may not all be working on it due to other tasks holding them busy.

MAXQUEUE function [max_queue_size]

For a given function of job, the maximum queue size is adjusted to be max_queue_size jobs long. A negative value indicates unlimited queue size.

If the max_queue_size value is not supplied then it is unset (and the default maximum queue size will apply to this function).

This function will return OK upon success, and will return ERR incomplete_args upon an invalid number of arguments.