PhpRiot
Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...


When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store

GearmanWorker::addFunction

(PECL gearman >= 0.5.0)

GearmanWorker::addFunctionRegister and add callback function

Description

public bool GearmanWorker::addFunction ( string $function_name , callable $function [, mixed &$context [, int $timeout ]] )

Registers a function name with the job server and specifies a callback corresponding to that function. Optionally specify extra application context data to be used when the callback is called and a timeout.

Parameters

function_name

The name of a function to register with the job server

function

A callback that gets called when a job for the registered function name is submitted

context

A reference to arbitrary application context data that can be modified by the worker function

timeout

An interval of time in seconds

Return Values

Returns TRUE on success or FALSE on failure.

Examples

Example #1 Simple worker making use of extra application context data

<?php

# get a gearman worker
$worker= new GearmanWorker(); 

# add the default server (localhost)
$worker->addServer(); 

# define a variable to hold application data
$count0

# add the "reverse" function
$worker->addFunction("reverse""reverse_cb", &$count);

# start the worker
while ($worker->work());

function 
reverse_cb($job$count

  
$count++; 
  return 
"$count: " strrev($job->workload()); 


?>

Running a client that submits two jobs for the reverse function would have output similar to the following:

1: olleh
2: dlrow

See Also

PHP Manual