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

XAS::Base
XAS::Class
XAS::Constants
XAS::Exception
XAS::System
XAS::Utils

XAS::Apps::Base::Alerts
XAS::Apps::Base::Collector
XAS::Apps::Base::ExtractData
XAS::Apps::Base::ExtractGlobals
XAS::Apps::Base::RemoveData
XAS::Apps::Database::Schema
XAS::Apps::Templates::Daemon
XAS::Apps::Templates::Generic
XAS::Apps::Test::Echo::Client
XAS::Apps::Test::Echo::Server
XAS::Apps::Test::RPC::Client
XAS::Apps::Test::RPC::Methods
XAS::Apps::Test::RPC::Server

XAS::Collector::Alert
XAS::Collector::Base
XAS::Collector::Connector
XAS::Collector::Factory

XAS::Lib::App
XAS::Lib::App::Daemon
XAS::Lib::App::Daemon::POE
XAS::Lib::Connector
XAS::Lib::Counter
XAS::Lib::Daemon::Logger
XAS::Lib::Daemon::Logging
XAS::Lib::Gearman::Admin
XAS::Lib::Gearman::Admin::Status
XAS::Lib::Gearman::Admin::Worker
XAS::Lib::Gearman::Client
XAS::Lib::Gearman::Client::Status
XAS::Lib::Gearman::Worker
XAS::Lib::Net::Client
XAS::LIb::Net::Server
XAS::Lib::RPC::JSON::Client
XAS::Lib::RPC::JSON::Server
XAS::Lib::Session
XAS::Lib::Spool

XAS::Model::Database
XAS::Model::Database::Alert
XAS::Model::Database::Counter
XAS::Model::DBM

XAS::Monitor::Base
XAS::Monitor::Database
XAS::Monitor::Database::Alert

XAS::Scheduler::Base

XAS::System::Alert
XAS::System::Email
XAS::System::Environment
XAS::System::Logger

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.