GearmanClient::doStatus
(PECL gearman >= 0.5.0)
GearmanClient::doStatus — Получение статуса обработки задания
Описание
Возвращает статус обработки задания. Этот метод вызывается между повторяющимися вызовами GearmanClient::doNormal().
Список параметров
У этой функции нет параметров.
Возвращаемые значения
Массив, представляющий процентное отношение выполненной работы. Первый элемент соответствует количеству обработанных чанков, второй - общее количество данных.
Примеры
Пример #1 Получение состояния выполнения долгого задания
В этом примере в обработчик, переворачивающий строку, внедрена задержка, чтобы сэмулировать долго выполняющееся задание. После каждой паузы обработчик выполняет GearmanJob::status(), результат которого подхватывается клиентом.
<?php
echo "Запуск\n";
# Создаем объект клиента.
$gmclient= new GearmanClient();
# Добавляем сервер по умолчанию (localhost).
$gmclient->addServer();
echo "Отправка задание\n";
# Отправляем задание перевернуть строку
do
{
$result = $gmclient->doNormal("reverse", "Hello!");
# Проверяем, есть ли ошибки или готовые данные.
switch($gmclient->returnCode())
{
case GEARMAN_WORK_DATA:
break;
case GEARMAN_WORK_STATUS:
# получаем состояние выполнения задания
list($numerator, $denominator)= $gmclient->doStatus();
echo "Состояние: $numerator/$denominator завершено\n";
break;
case GEARMAN_WORK_FAIL:
echo "Отказ обработчика\n";
exit;
case GEARMAN_SUCCESS:
break;
default:
echo "Код возврата: " . $gmclient->returnCode() . "\n";
exit;
}
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);
echo "Обработка завершена: $result\n";
?>
Результатом выполнения данного примера будет что-то подобное:
Запуск Отправка задания Состояние: 1/6 завершено Состояние: 2/6 завершено Состояние: 3/6 завершено Состояние: 4/6 завершено Состояние: 5/6 завершено Состояние: 6/6 завершено Обработка завершена: !olleH
Смотрите также
- GearmanClient::doNormal() - Выполняет одиночное задание и возвращает результат
- GearmanJob::status() - Отправка статуса задания (устаревший метод)
- Функция 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