GearmanClient::addTaskStatus
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
GearmanClient::addTaskStatus
Референца за `gearmanclient.addtaskstatus.php` со подобрена типографија и навигација.
GearmanClient::addTaskStatus
(PECL gearman >= 0.5.0)
GearmanClient::addTaskStatus — Додај задача за добивање статус
= NULL
Се користи за барање информации за статусот од Gearman серверот, кој ќе го повика наведениот callback за статус (поставен со користење на GearmanClient::setFailCallback()).
Параметри
job_handle- Рачката на задачата за добивање статус
context- Податоци што треба да се предадат на callback-от за статус, генерално референца до низа или објект
Вратени вредности
А GearmanTask објект или false при неуспех.
Примери
Пример #1 Следење на завршувањето на повеќе позадински задачи
Вештачко задоцнување е воведено во работникот во овој пример за да се симулира долготраен процес. За овој пример работи само еден работник.
<?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++;
}
?>Горниот пример ќе прикаже нешто слично на:
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::setFailCallback() - Поставете повикувач за собирање статус на задачата