GearmanClient::addTaskStatus

(PECL gearman >= 0.5.0)

GearmanClient::addTaskStatusДобавить задачу для получения статуса

Описание

publicGearmanClient::addTaskStatus(string$job_handle, mixed$context = null): GearmanTask|false

Используется для запроса информации о состоянии с сервера Gearman, который будет вызывать указанный callback-функцию статуса (заданную через GearmanClient::setStatusCallback()).

Список параметров

job_handle

Дескриптор задания для получения статуса задачи

context

Данные, которые будут переданы обратному вызову. Обычно ссылка на массив или объект

Возвращаемые значения

Объект GearmanTask или false в случае возникновения ошибки.

Примеры

Пример #1 Мониторинг завершения нескольких фоновых задач

В этом примере представлена искусственная задержка в обработчике, чтобы смоделировать долгий рабочий процесс. Есть только один обработчик, запущенный для этого примера.

<?php


$gmclient= new GearmanClient();


$gmclient->addServer();


$handles = array();
$handles[0] = $gmclient->doBackground("reverse", "Hello World!");
$handles[1] = $gmclient->doBackground("reverse", "!dlroW olleH");

$gmclient->setStatusCallback("reverse_status");



do
{

$done = 0;
$gmclient->addTaskStatus($handles[0], &$done);
$gmclient->addTaskStatus($handles[1], &$done);
$gmclient->runTasks();
echo
"Выполнено: $done\n";
sleep(1);
}
while (
$done != 2);

function
reverse_status($task, $done)
{
if (!
$task->isKnown())
$done++;
}

?>

Вывод приведённого примера будет похож на:

Выполнено: 0 Выполнено: 0 Выполнено: 0 Выполнено: 0 Выполнено: 0 Выполнено: 0 Выполнено: 0 Выполнено: 0 Выполнено: 0 Выполнено: 0 Выполнено: 0 Выполнено: 0 Выполнено: 1 Выполнено: 1 Выполнено: 1 Выполнено: 1 Выполнено: 1 Выполнено: 1 Выполнено: 1 Выполнено: 1 Выполнено: 1 Выполнено: 1 Выполнено: 1 Выполнено: 1 Выполнено: 2

Смотрите также

  • GearmanClient::setStatusCallback() - Задание callback-функции, собирающей информацию о состоянии обработчика заданий
To Top