array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'gearmanworker.work.php', 1 => 'GearmanWorker::work', ), 'up' => array ( 0 => 'class.gearmanworker.php', 1 => 'GearmanWorker', ), 'prev' => array ( 0 => 'gearmanworker.wait.php', 1 => 'GearmanWorker::wait', ), 'next' => array ( 0 => 'class.gearmanexception.php', 1 => 'GearmanException', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/gearman/gearmanworker/work.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL gearman >= 0.5.0)
GearmanWorker::work — Ожидание и выполнение заданий
Ждёт от сервера задание, а затем вызывает соответствующую callback-функцию для
его обработки. Вызывает ошибку уровня E_WARNING
с
информацией о последней ошибке Gearman в случаях, когда код возврата функции
отличается
от GEARMAN_SUCCESS
, GEARMAN_IO_WAIT
или GEARMAN_WORK_FAIL
.
У этой функции нет параметров.
Возвращает true
в случае успешного выполнения или false
, если возникла ошибка.
Пример #1 Пример использования GearmanWorker::work()
<?php
# создаём обработчик
$worker = new GearmanWorker();
# добавляем сервер заданий по умолчанию (localhost)
$worker->addServer();
# добавляем callback-функцию
$worker->addFunction("reverse", "my_reverse_function");
# запускаем обработчик, ожидающий заданий от сервера
while ($worker->work());
function my_reverse_function($job)
{
return strrev($job->workload());
}
?>