-
-
02 Aug 2013 09:25:48 UTC
- Distribution: Gearman-XS
- Module version: 0.15
- Source (raw)
- Browse (raw)
- Changes
- How to Contribute
- Issues (11)
- Testers (159 / 10 / 0)
- Kwalitee
Bus factor: 0- % Coverage
- License: perl_5
- Perl: v5.6.0
- Activity
24 month- Tools
- Download (63.86KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
and 1 contributors- Data Differential, ala Brian Aker, http://datadifferential.com/
- Dependencies
- unknown
- Reverse dependencies
- CPAN Testers List
- Dependency graph
- NAME
- SYNOPSIS
- DESCRIPTION
- CONSTRUCTOR
- METHODS
- $worker->add_server($host, $port)
- $worker->add_servers($servers)
- $worker->remove_servers()
- $worker->echo($data)
- $worker->add_function($function_name, $timeout, $function, $function_args)
- $worker->work()
- $worker->grab_job()
- $worker->error()
- $worker->options()
- $worker->set_options($options)
- $worker->add_options($options)
- $worker->remove_options($options)
- $worker->timeout()
- $worker->set_timeout($timeout)
- $worker->register($function_name, $timeout)
- $worker->unregister($function_name)
- $worker->unregister_all()
- $worker->function_exist($function_name)
- $worker->wait()
- $worker->set_log_fn($function, $verbose)
- BUGS
- COPYRIGHT
- WARRANTY
- LICENSE
- AUTHOR
NAME
Gearman::XS::Worker - Perl worker for gearman using libgearman
SYNOPSIS
use Gearman::XS qw(:constants); use Gearman::XS::Worker; $worker = new Gearman::XS::Worker; $ret = $worker->add_server($host, $port); if ($ret != GEARMAN_SUCCESS) { printf(STDERR "%s\n", $worker->error()); exit(1); } $ret = $worker->add_function("reverse", 0, \&reverse, $options); if ($ret != GEARMAN_SUCCESS) { printf(STDERR "%s\n", $worker->error()); } while (1) { my $ret = $worker->work(); if ($ret != GEARMAN_SUCCESS) { printf(STDERR "%s\n", $worker->error()); } } sub reverse { $job = shift; $workload = $job->workload(); $result = reverse($workload); printf("Job=%s Function_Name=%s Workload=%s Result=%s\n", $job->handle(), $job->function_name(), $job->workload(), $result); return $result; }
DESCRIPTION
Gearman::XS::Worker is a worker class for the Gearman distributed job system using libgearman.
CONSTRUCTOR
Gearman::XS::Worker->new()
Returns a Gearman::XS::Worker object.
METHODS
$worker->add_server($host, $port)
Add a job server to a worker. This goes into a list of servers than can be used to run tasks. No socket I/O happens here, it is just added to a list. Returns a standard gearman return value.
$worker->add_servers($servers)
Add a list of job servers to a worker. The format for the server list is: SERVER[:PORT][,SERVER[:PORT]]... No socket I/O happens here, it is just added to a list. Returns a standard gearman return value.
$worker->remove_servers()
Remove all servers currently associated with the worker.
$worker->echo($data)
Send data to all job servers to see if they echo it back. This is a test function to see if job servers are responding properly. Returns a standard gearman return value.
$worker->add_function($function_name, $timeout, $function, $function_args)
Register and add callback function for worker. Returns a standard gearman return value.
$worker->work()
Wait for a job and call the appropriate callback function when it gets one. Returns a standard gearman return value.
$worker->grab_job()
Get a job from one of the job servers. Returns a standard gearman return value.
$worker->error()
Return an error string for the last error encountered.
$worker->options()
Get options for a worker.
$worker->set_options($options)
Set options for a worker.
$worker->add_options($options)
Add options for a worker.
$worker->remove_options($options)
Remove options for a worker.
$worker->timeout()
Get current socket I/O activity timeout value. Returns Timeout in milliseconds to wait for I/O activity.
$worker->set_timeout($timeout)
Set socket I/O activity timeout for connections in milliseconds.
$worker->register($function_name, $timeout)
Register function with job servers with an optional timeout. The timeout specifies how many seconds the server will wait before marking a job as failed. Returns a standard gearman return value.
$worker->unregister($function_name)
Unregister function with job servers. Returns a standard gearman return value.
$worker->unregister_all()
Unregister all functions with job servers. Returns a standard gearman return value.
$worker->function_exist($function_name)
See if a function exists in the server. Returns 1 if the function exists, empty string if not.
$worker->wait()
When in non-blocking I/O mode, wait for activity from one of the servers.
$worker->set_log_fn($function, $verbose)
Set logging function.
BUGS
Any in libgearman plus many others of my own.
COPYRIGHT
Copyright (C) 2013 Data Differential, ala Brian Aker, http://datadifferential.com/ Copyright (C) 2009-2010 Dennis Schoen
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.9 or, at your option, any later version of Perl 5 you may have available.
WARRANTY
This is free software. IT COMES WITHOUT WARRANTY OF ANY KIND.
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Brian Aker <brian@tangent.org>
Module Install Instructions
To install Gearman::XS, copy and paste the appropriate command in to your terminal.
cpanm Gearman::XS
perl -MCPAN -e shell install Gearman::XS
For more information on module installation, please visit the detailed CPAN module installation guide.