GearmanClient::jobStatus

gearman_job_status

(PECL gearman >= 0.5.0)

GearmanClient::jobStatus -- gearman_job_statusRécupère le statut d'un travail en arrière-plan

Description

Style orienté objet (méthode) :

public array GearmanClient::jobStatus ( string $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 !

Voir aussi

LoadingChargement en cours