GearmanClient::addTaskStatus

(PECL gearman >= 0.5.0)

GearmanClient::addTaskStatusAjoute une tâche pour obtenir le statut

Description

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

Utilisé pour demander le statut au serveur Gearman, qui appellera le retour de statut spécifié (grâce à GearmanClient::setStatusCallback()).

Liste de paramètres

job_handle

Les descripteur pour la tâche dont on souhaite le statut

context

Les données à passer au retour de statut, généralement une référence à un tableau ou à un objet

Valeurs de retour

Un objet GearmanTask ou false en cas d'échec.

Exemples

Exemple #1 Surveiller l'accomplissement de plusieurs tâches de fond

Un délai artificiel est introduit dans l'agent de cet exemple pour simuler un processus long. Il n'y a qu'un agent qui est lancé dans cet exemple.

<?php


$gmclient= new GearmanClient();


$gmclient->addServer();


$handles = array();
$handles[0] = $gmclient->doBackground("inverse", "Bonjour le monde!");
$handles[1] = $gmclient->doBackground("inverse", "!ednom el ruojnoB");

$gmclient->setStatusCallback("inverse_statut");



do
{

$done = 0;
$gmclient->addTaskStatus($handles[0], &$done);
$gmclient->addTaskStatus($handles[1], &$done);
$gmclient->runTasks();
echo
"Fait : $done\n";
sleep(1);
}
while (
$done != 2);

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

?>

Résultat de l'exemple ci-dessus est similaire à :

Fait : 0 Fait : 0 Fait : 0 Fait : 0 Fait : 0 Fait : 0 Fait : 0 Fait : 0 Fait : 0 Fait : 0 Fait : 0 Fait : 0 Fait : 1 Fait : 1 Fait : 1 Fait : 1 Fait : 1 Fait : 1 Fait : 1 Fait : 1 Fait : 1 Fait : 1 Fait : 1 Fait : 1 Fait : 2

Voir aussi

To Top