(PECL gearman >= 0.5.0)
GearmanWorker::addFunction — Registra y añade una función de retorno
$function_name
   , callable $function
   [, mixed &$context
   [, int $timeout
  ]] ) : boolRegistra el nombre de una función en el servidor de trabajos y especifica la llamada de retorno quer corresponde a esa función. Opcionalmente se puede especificar datos extra del contexto de aplicación para que sean usados cuando se realiza la llamada a la función de retorno o expira el tiempo máximo permitido.
function_nameNombre de la función a registrar en el servidor de trabajos
functionFunción de retorno a llamar cuando el trabajo para el nombre de función registrado es enviado
contextReferencia a datos de contexto de la aplicación que pueden ser modificados por la la función del trabajador
timeoutIntervalo de tiempo en segundos
   Devuelve TRUE en caso de éxito o FALSE en caso de error.
  
Ejemplo #1 Sencillo trabajador que usa los datos de contexto de aplicación
<?php
# obtiene un trabajador gearman
$worker= new GearmanWorker(); 
# añade el servidor por defecto (localhost)
$worker->addServer(); 
# define una variable en la que mantener los datos de aplicación
$count= 0; 
# añade la función "reverse"
$worker->addFunction("reverse", "reverse_cb", $count);
# inicia el trabajador
while ($worker->work());
function reverse_cb($job, &$count) 
{ 
  $count++; 
  return "$count: " . strrev($job->workload()); 
} 
?>
Ejecutando un cliente que envía dos trabajos para la función "reverse", tendrá un resultado similar a este:
1: olleh 2: dlrow