Gearman::Worker man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Gearman::Worker(3)    User Contributed Perl Documentation   Gearman::Worker(3)

NAME
       Gearman::Worker - Worker for gearman distributed job system

SYNOPSIS
	   use Gearman::Worker;
	   my $worker = Gearman::Worker->new;
	   $worker->job_servers('127.0.0.1');
	   $worker->register_function($funcname => $subref);
	   $worker->work while 1;

DESCRIPTION
       Gearman::Worker is a worker class for the Gearman distributed job
       system, providing a framework for receiving and serving jobs from a
       Gearman server.

       Callers instantiate a Gearman::Worker object, register a list of
       functions and capabilities that they can handle, then enter an event
       loop, waiting for the server to send jobs.

       The worker can send a return value back to the server, which then gets
       sent back to the client that requested the job; or it can simply
       execute silently.

USAGE
   Gearman::Worker->new(%options)
       Creates a new Gearman::Worker object, and returns the object.

       If %options is provided, initializes the new worker object with the
       settings in %options, which can contain:

       ·   job_servers

	   Calls job_servers (see below) to initialize the list of job
	   servers. It will be ignored if this worker is running as a child
	   process of a gearman server.

       ·   prefix

	   Calls prefix (see below) to set the prefix / namespace.

   $worker->job_servers(@servers)
       Initializes the worker $worker with the list of job servers in
       @servers.  @servers should contain a list of IP addresses, with
       optional port numbers.  For example:

	   $worker->job_servers('127.0.0.1', '192.168.1.100:7003');

       If the port number is not provided, 7003 is used as the default.

       Calling this method will do nothing in a worker that is running as a
       child process of a gearman server.

   $worker->register_function($funcname, $subref)
   $worker->register_function($funcname, $timeout, $subref)
       Registers the function $funcname as being provided by the worker
       $worker, and advertises these capabilities to all of the job servers
       defined in this worker.

       $subref must be a subroutine reference that will be invoked when the
       worker receives a request for this function. It will be passed a
       Gearman::Job object representing the job that has been received by the
       worker.

       $timeout is an optional parameter specifying how long the jobserver
       will wait for your subroutine to give an answer. Exceeding this time
       will result in the jobserver reassigning the task and ignoring your
       result. This prevents a gimpy worker from ruining the 'user experience'
       in many situations.

       The subroutine reference can return a return value, which will be sent
       back to the job server.

   $client->prefix($prefix)
       Sets the namespace / prefix for the function names.  This is useful for
       sharing job servers between different applications or different
       instances of the same application (different development sandboxes for
       example).

       The namespace is currently implemented as a simple tab separated
       concatentation of the prefix and the function name.

   Gearman::Job->arg
       Returns the scalar argument that the client sent to the job server.

   Gearman::Job->set_status($numerator, $denominator)
       Updates the status of the job (most likely, a long-running job) and
       sends it back to the job server. $numerator and $denominator should
       represent the percentage completion of the job.

   Gearman::Job->work(%opts)
       Do one job and returns (no value returned).  You can pass "on_start"
       "on_complete" and "on_fail" callbacks in %opts.

WORKERS AS CHILD PROCESSES
       Gearman workers can be run run as child processes of a parent process
       which embeds Gearman::Server.  When such a parent process fork/execs a
       worker, it sets the environment variable GEARMAN_WORKER_USE_STDIO to
       true before launching the worker. If this variable is set to true, then
       the jobservers function and option for new() are ignored and the unix
       socket bound to STDIN/OUT are used instead as the IO path to the
       gearman server.

EXAMPLES
   Summation
       This is an example worker that receives a request to sum up a list of
       integers.

	   use Gearman::Worker;
	   use Storable qw( thaw );
	   use List::Util qw( sum );
	   my $worker = Gearman::Worker->new;
	   $worker->job_servers('127.0.0.1');
	   $worker->register_function(sum => sub { sum @{ thaw($_[0]->arg) } });
	   $worker->work while 1;

       See the Gearman::Client documentation for a sample client sending the
       sum job.

perl v5.14.1			  2009-10-05		    Gearman::Worker(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net