GearmanClient::doBackground
(PECL gearman >= 0.5.0)
GearmanClient::doBackground — Exécute une tâche en arrière-plan
Description
public string GearmanClient::doBackground
( string
$function_name
, string $workload
[, string $unique
] )Exécute une tâche en arrière-plan, retourne le gestionnaire de travaux qui pourra être utilisé pour récupérer le statut de la tâche en cours.
Liste de paramètres
-
function_name
-
Une fonction enregistrée que le travailleur va exécuter
-
workload
-
Données linéarisées à analyser
-
unique
-
Un identifiant unique utilisé pour identifier une tâche particulière
Valeurs de retour
Le gestionnaire de travaux pour la tâche soumise.
Exemples
Exemple #1 Soumet et surveille un travail en arrière-plan
<?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 "Code retour erroné\n";
exit;
}
$done = false;
do
{
sleep(3);
$stat = $gmclient->jobStatus($job_handle);
if (!$stat[0]) // the job is known so it is not done
$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
- GearmanClient::doNormal() - Exécute une tâche et retourne le résultat
- GearmanClient::doHigh() - Exécute une seule tâche en priorité haute
- GearmanClient::doLow() - Exécute une seule tâche en priorité basse
- GearmanClient::doHighBackground() - Exécute une tâche en priorité haute en arrière plan
- GearmanClient::doLowBackground() - Exécute une tâche en priorité basse en arrière-plan