(PECL gearman >= 0.5.0)
GearmanWorker::addFunction — Регистрация и добавление callback-функции
$function_name
   , callable $function
   [, mixed &$context
   [, int $timeout
  ]] )Регистрирует имя функции на сервере заданий и добавляет ссылку на эту функцию для обратного вызова. Дополнительно можно задать контекст, который будет использоваться во время обратного вызова, и таймаут.
function_nameИмя функции, которое необходимо зарегистрировать на сервере.
functionФункция, которая будет вызываться, когда сервер получит работу для зарегистрированного имени.
contextСсылка на контекстные данные приложения, к которым нужно обеспечить доступ из функции.
timeoutВременной интервал в секундах
   Возвращает TRUE в случае успешного завершения  или FALSE в случае возникновения ошибки.
  
Пример #1 Простой обработчик использует контекстные данные приложения
<?php
# получаем обработчик gearman
$worker= new GearmanWorker(); 
# добавляем сервер по умолчанию (localhost)
$worker->addServer(); 
# определяем переменную, в которой будут храниться данные приложения
$count= 0; 
# добавляем функцию "reverse" 
$worker->addFunction("reverse", "reverse_cb", $count);
# запускаем обработчик
while ($worker->work());
function reverse_cb($job, &$count) 
{ 
  $count++; 
  return "$count: " . strrev($job->workload()); 
} 
?>
Если клиент пошлет два задания для функции reverse, то вывод будет следующим:
1: olleh 2: dlrow