NAME¶
Gearman::Server - function call "router" and load balancer
DESCRIPTION¶
You run a Gearman server (or more likely, many of them for both
high-availability and load balancing), then have workers (using
Gearman::Worker from the Gearman module, or libraries for other languages)
register their ability to do certain functions to all of them, and then
clients (using Gearman::Client, Gearman::Client::Async, etc) request work to
be done from one of the Gearman servers.
The servers connect them, routing function call requests to the appropriate
workers, multiplexing responses to duplicate requests as requested, etc.
More than likely, you want to use the provided gearmand wrapper script, and not
use Gearman::Server directly.
METHODS¶
new¶
$server_object = Gearman::Server->new( %options )
Creates and returns a new Gearman::Server object, which attaches itself to the
Danga::Socket event loop. The server will begin operating when the
Danga::Socket runloop is started. This means you need to start up the runloop
before anything will happen.
Options:
- port
- Specify a port which you would like the Gearman::Server to
listen on for TCP connections (not necessary, but useful)
create_listening_sock¶
$server_object->create_listening_sock( $portnum )
Add a TCP port listener for incoming Gearman worker and client connections.
start_worker¶
$pid = $server_object->start_worker( $prog )
($pid, $client) = $server_object->start_worker( $prog )
Fork and start a worker process named by $prog and returns the pid (or pid and
client object).
SEE ALSO¶
gearmand