GearmanClient::addTaskStatus
(PECL gearman >= 0.5.0)
GearmanClient::addTaskStatus — Ajoute une tâche pour obtenir le statut
Description
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
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
/* crée notre objet */
$gmclient= new GearmanClient();
/* ajoute le serveur par défaut */
$gmclient->addServer();
/* lance une tâche de fond et sauvegarde les descripteurs */
$handles = array();
$handles[0] = $gmclient->doBackground("inverse", "Bonjour le monde!");
$handles[1] = $gmclient->doBackground("inverse", "!ednom el ruojnoB");
$gmclient->setStatusCallback("inverse_statut");
/* Interroge le serveur pour voir quand les tâches de fond se terminent; */
/* une meilleure méthode consiste à appeler les retours d'événement */
do
{
/* Utilise la variable de contexte pour savoir combien de tâches ont été effectuées */
$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++;
}
?>
L'exemple ci-dessus va afficher quelque chose de 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
- GearmanClient::setStatusCallback() - Définit une fonction de rappel pour collecter les statuts d'une tâche
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-gearmanclient.addtaskstatus.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.