The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

XAS::Lib::Gearman::Client - An interface to the Gearman job queue.

SYNOPSIS

 use XAS:::Lib::Gearman::Client;

 my $client = XAS::Lib::Gearman::Client->new(
     -server => 'localhost',
     -port   => '4730'
 );

 my $data = $client->process('reverse', {string => 'this is a string'});
 printf("reversed: %s\n", $data);

DESCRIPTION

This module is a wrapper around the Gearman::XS::Client. If unifies common methods with error handling to make main line code easier to work with.

METHODS

process

This method runs a task in the foreground. It returns the processed response from the worker. It takes the following parameters:

-queue

The queue to run the task under.

-params

The paramters for that task. They should be a hashref.

-status

An optional call back to report the status of the running task. The callback will take these following parameters:

-jobid

The ID of the job.

-numerator

The numerator of the status.

-denominator

The denominator of the status.

-priority

An optional priority to run the job at. The priorities are 'low', 'medium' and 'high'. The default is 'medium'.

submit

This method will submit a job to be run in the background. It will return the job id of the background task. It takes the following parameters:

-queue

The queue to run the task on.

-params

The paramters to pass to the job. This should be a hashref.

-priority

An optional priority to run the job at. The priorities are 'low', 'medium' and 'high'. The default is 'medium'.

status

This method will return the status of a background job. It returns a XAS::Lib::Gearman::Client::Status object. It takes following parameter:

-jobid

The id of the background job.

SEE ALSO

 Gearman::XS
 Gearman::XS::Client
 Gearman::XS::Worker

XAS

AUTHOR

Kevin L. Esteb, <kevin@kesteb.us>

COPYRIGHT AND LICENSE

Copyright (C) 2012 by Kevin L. Esteb

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.