GearmanWorker::addFunction
(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
Смотрите также
- GearmanClient::do() - Выполняет одну задачу и возвращает результат [Устаревший метод]
- Функция GearmanWorker::addFunction() - Регистрация и добавление callback-функции
- Функция GearmanWorker::addOptions() - Добавление настроек обработчика
- Функция GearmanWorker::addServer() - Добавление сервера заданий
- Функция GearmanWorker::addServers() - Добавление нескольких серверов заданий
- Функция GearmanWorker::clone() - Создание копии обработчика
- Функция GearmanWorker::__construct() - Создание объекта GearmanWorker
- Функция GearmanWorker::echo() - Проверка отклика серверов заданий
- Функция GearmanWorker::error() - Получение последней обнаруженной ошибки
- Функция GearmanWorker::getErrno() - Получение номера ошибки
- Функция GearmanWorker::options() - Получение настроек обработчика
- Функция GearmanWorker::register() - Регистрация функции на сервере заданий
- Функция GearmanWorker::removeOptions() - Удаление настроек обработчика
- Функция GearmanWorker::returnCode() - Получение последнего кода возврата Gearman
- GearmanWorker::setId
- Функция GearmanWorker::setOptions() - Задание настроек обработчика
- Функция GearmanWorker::setTimeout() - Задание таймаута ожидания ввода/вывода на сокете
- Функция GearmanWorker::timeout() - Получение значения таймаута ожидания запросов на сокете
- Функция GearmanWorker::unregister() - Удалить регистрацию имени функции на всех серверах заданий
- Функция GearmanWorker::unregisterAll() - Удаление регистрации всех имен функций на серверах заданий
- Функция GearmanWorker::wait() - Ожидание запроса от какого-либо сервера задач
- Функция GearmanWorker::work() - Ожидание задания и его немедленное выполнение
Коментарии
404 Not Found