(PECL gearman >= 0.5.0)
GearmanClient::jobStatus -- gearman_job_status — Récupère le statut d'un travail en arrière-plan
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.
job_handle
Le gestionnaire de travaux assigné par le serveur Gearman
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.
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 !