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

FreeBSD Manual Pages

  
 
  

home | help
AnyEvent::Gearman::WorUser3Contributed Perl DocumeAnyEvent::Gearman::Worker(3)

NAME
       AnyEvent::Gearman::Worker - Gearman worker for AnyEvent application

SYNOPSIS
	   use AnyEvent::Gearman::Worker;

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

	   # add worker	function
	   $worker->register_function( reverse => sub {
	       my $job = shift;
	       my $res = reverse $job->workload;
	       $job->complete($res);
	   });

DESCRIPTION
       This is Gearman worker module for AnyEvent applications.

METHODS
   new(%options)
       Create gearman worker object.

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

       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.

   register_function( $function_name, $subref )
       Register	worker function.

	   $worker->register_function( reverse => sub {
	       my $job = shift;
	       my $res = reverse $job->workload;
	       $job->complete($res);
	   });

       $function_name is function name string to register.

       $subref is worker CodeRef that will be executed when the	worker
       received	a request for this function. And it will be passed a
       AnyEvent::Gearman::Job object representing the job that has been
       received	by the worker.

       NOTE: Unlike Gearman::Worker, this module ignore	$subref's return
       value.  So you should call either "$job->complete" or "$job->fail" at
       least.

       This is because this module stands AnyEvent's asynchronous way, and
       this way	more flexible in AnyEvent world.

       For example:

	   $worker->register_function( reverse => sub {
	       my $job = shift;

	       my $t; $t = AnyEvent->timer(
		   after => 10,
		   cb	 => sub	{
		       undef $t;
		       $job->complete('done!');
		   },
	       );
	   });

       This is simplest	and meaningless	codes but you can write	worker process
       with AnyEvent way. This is asynchronous worker.

   unregister_function(	$function_name )
       Unregister worker function, notifying to	server that this worker	no
       longer handle $function_name.

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::Worker(3)

NAME | SYNOPSIS | DESCRIPTION | 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::Worker&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help