Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
AnyEvent::Gearman::CliUser3Contributed Perl DocumeAnyEvent::Gearman::Client(3)

NAME
       AnyEvent::Gearman::Client - Gearman client for AnyEvent application

SYNOPSIS
	   use AnyEvent::Gearman::Client;

	   # create greaman client
	   my $gearman = AnyEvent::Gearman::Client->new(
	       job_servers => ['127.0.0.1', '192.168.0.1:123'],
	   );

	   # start job
	   $gearman->add_task(
	       $function => $workload,
	       on_complete => sub {
		   my $res = $_[1];
	       },
	       on_fail => sub {
		   # job failed
	       },
	   );

	   # start background job
	   $gearman->add_task_bg(
	       $function => $workload,
	   );

DESCRIPTION
       This is Gearman client module for AnyEvent applications.

SEE ALSO
       Gearman::Client::Async, this module provides same functionality for
       Danga::Socket applications.

METHODS
   new(%options)
       Create gearman client object.

	   my $gearman = AnyEvent::Gearman::Client->new(
	       job_servers => ['127.0.0.1', '192.168.0.1:123'],
	   );

       Available options are:

       job_servers => 'ArrayRef',
	   List	of gearman servers. 'host:port'	or just	'host' formats are
	   allowed.  In	latter case, gearman default port 4730 will be used.

	   You should set at least one job_server.

       prefix => 'Str',
	   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
	   concatenation of the	prefix and the function	name.

   add_task($function, $workload, %callbacks)
       Start new job and wait results in %callbacks

	   $gearman->add_task(
	       $function => $workload,
	       on_complete => sub {
		   my $result =	$_[1],
	       },
	       on_fail => sub {
		   # job failled
	       },
	   );

       $function is a worker function name, and	$workload is a data that will
       be passed to worker.

       %callbacks is set of callbacks called by	job events. Available
       callbacks are:

       on_complete => $cb->($self, $result)
	   Called when the job is completed. $result is	some results data
	   which is set	by "$job->complete($result)" in	worker.

       on_fail => $cb->($self, $reason)
	   Called when the job is failed. $reason is empty if its threw	by
	   worker. I don't know	why but	gearman	spec say so. Considering to
	   use "on_warning" below for some failing notify.

       on_warning => $cb->($self, $warning)
	   Called when "$job->warning($warning)" called	in worker.

       on_data => $cb->($self, $data)
	   Called when "$job->data($data)" called in worker.

       on_status => $cb->($self, $numerator, $denominator)
	   Called when "$job->status($numerator, $denominator)"	called in
	   worker

       on_created => $cb->($self)
	   Called when the servers reports that	the task was created
	   successfully.  Updates the Task object with the server assigned
	   "job_handle".

       You should to set "on_complete" and "on_fail" at	least.

   add_task_bg($function, $workload, %callbacks)
       Starts a	new background job. The	parameters are the same	as
       add_task($function, $workload, %callbacks), but the only	callback that
       is called is "on_created".

	   $gearman->add_task_bg(
	       $function => $workload,
	       on_created => sub {
		   my ($task) =	@_;
	       },
	   );

AUTHOR
       Daisuke Murase <typester@cpan.org>

       Pedro Melo <melo@cpan.org>

COPYRIGHT AND LICENSE
       Copyright (c) 2009 by KAYAC Inc.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

       The full	text of	the license can	be found in the	LICENSE	file included
       with this module.

perl v5.32.0			  2013-02-05	  AnyEvent::Gearman::Client(3)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | METHODS | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=AnyEvent::Gearman::Client&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help