(PECL gearman >= 0.5.0)
GearmanWorker::addFunction — Register and add callback function
$function_name
, callable $function
[, mixed &$context
[, int $timeout
]] ) : boolRegisters 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.
function_nameThe name of a function to register with the job server
functionA callback that gets called when a job for the registered function name is submitted
contextA reference to arbitrary application context data that can be modified by the worker function
timeoutAn interval of time in seconds
Retorna TRUE em caso de sucesso ou FALSE em caso de falha.
Exemplo #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
$count= 0;
# 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