GearmanWorker
PHP Manual

GearmanWorker::addFunction

(PECL gearman >= 0.5.0)

GearmanWorker::addFunctionРегистрация и добавление callback-функции

Описание

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

Регистрирует имя функции на сервере заданий и добавляет ссылку на эту функцию для обратного вызова. Дополнительно можно задать контекс, который будет использоваться во время обратного вызова, и таймаут.

Список параметров

function_name

Имя функции, которое необходимо зарегистрировать на сервере.

function

Функция, которая будет вызываться, когда сервер получит работу для зарегистрированного имени.

context

Ссылка на контекстные данные приложения, к которым нужно обеспечить доступ из функции.

timeout

Временной интервал в секундах

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Простой обработчик использует контекстные данные приложения

<?php

# получаем обработчик gearman
$worker= new GearmanWorker(); 

# добавляем сервер по умолчанию (localhost)
$worker->addServer(); 

# определяем переменную, в которой будут храниться данные приложения
$count0

# добавляем функцию "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

Смотрите также


GearmanWorker
PHP Manual