GearmanClient::addTaskStatus
(PECL gearman >= 0.5.0)
GearmanClient::addTaskStatus — Add a task to get status
Description
Used to request status information from the Gearman server, which will call the specified status callback (set using GearmanClient::setStatusCallback()).
Parameters
-
job_handle
-
The job handle for the task to get status for
-
context
-
Data to be passed to the status callback, generally a reference to an array or object
Return Values
A GearmanTask object.
Examples
Example #1 Monitor completion of multiple background tasks
An artificial delay is introduced in the worker in this example to simulate a long running process. There is only one worker running for this example.
<?php
/* create our object */
$gmclient= new GearmanClient();
/* add the default server */
$gmclient->addServer();
/* start some background jobs and save the handles */
$handles = array();
$handles[0] = $gmclient->doBackground("reverse", "Hello World!");
$handles[1] = $gmclient->doBackground("reverse", "!dlroW olleH");
$gmclient->setStatusCallback("reverse_status");
/* Poll the server to see when those background jobs finish; */
/* a better method would be to use event callbacks */
do
{
/* Use the context variable to track how many tasks have completed */
$done = 0;
$gmclient->addTaskStatus($handles[0], &$done);
$gmclient->addTaskStatus($handles[1], &$done);
$gmclient->runTasks();
echo "Done: $done\n";
sleep(1);
}
while ($done != 2);
function reverse_status($task, $done)
{
if (!$task->isKnown())
$done++;
}
?>
The above example will output something similar to:
Done: 0 Done: 0 Done: 0 Done: 0 Done: 0 Done: 0 Done: 0 Done: 0 Done: 0 Done: 0 Done: 0 Done: 0 Done: 1 Done: 1 Done: 1 Done: 1 Done: 1 Done: 1 Done: 1 Done: 1 Done: 1 Done: 1 Done: 1 Done: 1 Done: 2
- Функция GearmanClient::addOptions() - Добавить клиентские опции
- Функция GearmanClient::addServer() - Добавить сервер задач для клиента
- Функция GearmanClient::addServers() - Добавить список серверов задач для клиента
- Функция GearmanClient::addTask() - Добавить задачу, которая будет выполнена в параллельном режиме
- Функция GearmanClient::addTaskBackground() - Добавить фоновую задачу для работы в параллельном режиме
- Функция GearmanClient::addTaskHigh() - Добавить высокоприоритетную задачу для работы в параллельном режиме
- Функция GearmanClient::addTaskHighBackground() - Добавить высокоприоритетную фоновую задачу для работы в параллельном режиме
- Функция GearmanClient::addTaskLow() - Добавить низкоприоритетную задачу для работы в параллельном режиме
- Функция GearmanClient::addTaskLowBackground() - Добавить низкоприоритетную фоновую задачу для работы в параллельном режиме
- Функция GearmanClient::addTaskStatus() - Добавить задачу для получения статуса
- Функция GearmanClient::clearCallbacks() - Очистить все функции обратного вызова данной задачи
- Функция GearmanClient::clone() - Создать копию объекта GearmanClient
- Функция GearmanClient::__construct() - Создать экземпляр GearmanClient
- Функция GearmanClient::context() - Возвращает контекст приложения
- Функция GearmanClient::data() - Возвращает данные приложения (функция устарела)
- Функция GearmanClient::do() - Выполняет одну задачу и возвращает результат [Устаревший метод]
- Функция GearmanClient::doBackground() - Запускает выполнение задачи в фоновом режиме
- Функция GearmanClient::doHigh() - Запускает на выполнение задачу с высоким приоритетом
- Функция GearmanClient::doHighBackground() - Запускает на выполнение с высоким приоритетом задачу в фоновом режиме
- Функция GearmanClient::doJobHandle() - Получить дескриптор выполняющейся задачи
- Функция GearmanClient::doLow() - Запускает на выполнение задачу с низким приоритетом
- Функция GearmanClient::doLowBackground() - Запускает на выполнение с низким приоритетом задачу в фоновом режиме
- Функция GearmanClient::doNormal() - Выполняет одиночное задание и возвращает результат
- Функция GearmanClient::doStatus() - Получение статуса обработки задания
- Функция GearmanClient::echo() - Отправляет данные всем серверам заданий, чтобы проверить отклик [Устаревший метод]
- Функция GearmanClient::error() - Вернуть строку ошибки для последней встретившейся ошибки
- Функция GearmanClient::getErrno() - Получить значение errno
- Функция GearmanClient::jobStatus() - Получение статуса выполнения фонового задания
- Функция GearmanClient::ping() - Отправляет данные на все сервера и смотрит, какие из них выведут эти данные
- Функция GearmanClient::removeOptions() - Удалить клиентские опции
- Функция GearmanClient::returnCode() - Получить последний возвращённый код Gearman
- Функция GearmanClient::runTasks() - Запустить список задач в параллельном режиме
- Функция GearmanClient::setClientCallback() - Установить функцию обратного вызова, когда есть пакет данных для задачи (устаревший метод)
- Функция GearmanClient::setCompleteCallback() - Установите функцию, которая будет вызвана по завершении задачи
- Функция GearmanClient::setContext() - Установить данные приложения
- Функция GearmanClient::setCreatedCallback() - Установить функцию обратного вызова, когда задача ставится в очередь
- Функция GearmanClient::setData() - Установить данные приложения (устаревший метод)
- Функция GearmanClient::setDataCallback() - Задает callback-функцию для обработки переданных данных
- GearmanClient::setExceptionCallback
- GearmanClient::setFailCallback
- Функция GearmanClient::setOptions() - Задание настроек клиента
- Функция GearmanClient::setStatusCallback() - Задание callback-функции, собирающей информацию о состоянии обработчика заданий
- Функция GearmanClient::setTimeout() - Установка таймаута для операций ввода/вывода
- Функция GearmanClient::setWarningCallback() - Задание callback-функции, обслуживающей предупреждения обработчика заданий
- GearmanClient::setWorkloadCallback
- Функция GearmanClient::timeout() - Получение значения таймаута операций ввода/вывода
Коментарии
404 Not Found