Класс GearmanWorker
(PECL gearman >= 0.5.0)
Введение
Обзор классов
GearmanWorker
{
/* Методы */
public bool addFunction
( string
}$function_name
, callable $function
[, mixed &$context
[, int $timeout
]] )Содержание
- 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 — Ожидание задания и его немедленное выполнение
Коментарии
For background run use:
exec("nohup php worker.php >/dev/null 2>/dev/null &");
Use systemd for managing this process:
---- 8< ---- /lib/systemd/system/gearman-worker.service
[Unit]
Description=My own gearman worker
[Service]
ExecStart=/usr/bin/php /var/www/my-worker.php
Restart=always
[Install]
WantedBy=multi-user.target
---- >8 ---- /lib/systemd/system/gearman-worker.service
systemctl daemon-reload
systemctl enable gearman-worker
systemctl start gearman-worker