GearmanClient::jobStatus
gearman_job_status
(PECL gearman >= 0.5.0)
GearmanClient::jobStatus -- gearman_job_status — Récupère le statut d'un travail en arrière-plan
Description
Style orienté objet (méthode) :
$job_handle
)Récupère le statut d'un travail en arrière-plan pour le gestionnaire de travaux fourni. Les informations de statut spécifient si le travail est connu, si le travail est actuellement en cours d'exécution, ainsi que le pourcentage de réalisation.
Liste de paramètres
-
job_handle
-
Le gestionnaire de travaux assigné par le serveur Gearman
Valeurs de retour
Un tableau contenant les informations de statut pour le travail correspondant au gestionnaire de travaux fourni. Le premier élément est un booléen indiquant si le travail est connu, le second est un booléen indiquant si le travail est en cours d'exécution, le troisième et le quatrième correspondent au numérateur et dénominateur du pourcentage de réalisation.
Exemples
Exemple #1 Surveille le statut d'un travail en arrière-plan mettant du temps à s'exécuter
<?php
/* Crée un client */
$gmclient= new GearmanClient();
/* Ajoute un serveur par défaut */
$gmclient->addServer();
/* Exécute le client */
$job_handle = $gmclient->doBackground("reverse", "this is a test");
if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
echo "Mauvais code retour\n";
exit;
}
$done = false;
do
{
sleep(3);
$stat = $gmclient->jobStatus($job_handle);
if (!$stat[0]) // le travail est connu, signifiant qu'il n'est pas terminé
$done = true;
echo "Exécution : " . ($stat[1] ? "true" : "false") . ", numérateur : " . $stat[2] . ", dénominateur : " . $stat[3] . "\n";
}
while(!$done);
echo "fait !\n";
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
Exécution : true, numérateur : 3, dénominateur : 14 Exécution : true, numérateur : 6, dénominateur : 14 Exécution : true, numérateur : 9, dénominateur : 14 Exécution : true, numérateur : 12, dénominateur : 14 Exécution : false, numérateur : 0, dénominateur : 0 fait !