Gearman::Client - Client for gearman distributed job system
use Gearman::Client; my $client = Gearman::Client->new; $client->job_servers( '127.0.0.1', { host => '10.0.0.1', port => 4730, socket_cb => sub {...}, use_ssl => 1, ca_file => ..., cert_file => ..., key_file => ..., } ); # running a single task my $result_ref = $client->do_task("add", "1+2", { on_fail => sub {...}, on_complete => sub {...} }); print "1 + 2 = $$result_ref\n"; # waiting on a set of tasks in parallel my $taskset = $client->new_task_set; $taskset->add_task( "add" => "1+2", { on_complete => sub { ... } }); $taskset->add_task( "divide" => "5/0", { on_fail => sub { print "divide by zero error!\n"; }, }); $taskset->wait;
Gearman::Client is a client class for the Gearman distributed job system, providing a framework for sending jobs to one or more Gearman servers. These jobs are then distributed out to a farm of workers.
Callers instantiate a Gearman::Client object and from it dispatch single tasks, sets of tasks, or check on the status of tasks.
Gearman::Client is derived from Gearman::Objects
Creates a new Gearman::Client object, and returns the object.
If %options is provided, initializes the new client object with the settings in %options, which can contain:
exceptions
If true, the client sends an OPTION_REQ exceptions request for each connection to the job server. This causes job server to forward WORK_EXCEPTION packets to the client.
job_servers
List of job servers. Value should be an array reference, hash reference or scalar.
Calls Gearman::Objects to set job_servers
prefix
Calls prefix (see Gearman::Objects) to set the prefix / namespace.
This is an example client that sends off a request to sum up a list of integers.
use Gearman::Client; use Storable qw( freeze ); my $client = Gearman::Client->new; $client->job_servers('127.0.0.1'); my $tasks = $client->new_task_set; my $handle = $tasks->add_task(sum => freeze([ 3, 5 ]), { on_complete => sub { print ${ $_[0] }, "\n" } }); $tasks->wait;
See the Gearman::Worker documentation for the worker for the sum function.
Creates and returns a new Gearman::Taskset object.
return {job_server => {job => {capable, queued, running}}}
{job_server => {job => {capable, queued, running}}}
supported only by Gearman::Server
return {job-server => {job => {address, listeners, key}}}
{job-server => {job => {address, listeners, key}}}
Dispatches a task and waits on the results. May either provide a Gearman::Task object, or the 3 arguments that the Gearman::Task constructor takes.
return scalarref of WORK_COMPLETE result, or undef on failure.
Dispatches a task and doesn't wait for the result. Return value is an opaque scalar that can be used to refer to the task with get_status.
task
It is strongly recommended to set Gearman::Task uniq option to insure gearmand does not squash jobs if it store background jobs in a persistence backend. See the issue #87
uniq
return the handle from the jobserver, or undef on failure
run a hook callback if defined
add a hook
The Gearman Server will assign a scalar job handle when you request a background job with dispatch_background. Save this scalar, and use it later in order to request the status of this job.
return Gearman::JobStatus on success
Copyright 2006-2007 Six Apart, Ltd.
License granted to use/distribute under the same terms as Perl itself.
This is free software. This comes with no warranty whatsoever.
Brad Fitzpatrick (<brad at danga dot com>) Jonathan Steinert (<hachi at cpan dot org>) Alexei Pastuchov (<palik at cpan dot org>) co-maintainer
https://github.com/p-alik/perl-Gearman.git
To install Gearman::Job, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Gearman::Job
CPAN shell
perl -MCPAN -e shell install Gearman::Job
For more information on module installation, please visit the detailed CPAN module installation guide.