GearmanWorker::setTimeout
(PECL gearman >= 0.6.0)
GearmanWorker::setTimeout — Définit le délai d'attente maximal d'activité du socket I/O
Description
public bool GearmanWorker::setTimeout
( int
$timeout
)Définit l'intervalle de temps à attendre une activité du socket I/O.
Liste de paramètres
-
timeout -
Un intervalle de temps, en millisecondes. Une valeur négative indique que le délai sera infini.
Valeurs de retour
Retourne toujours TRUE.
Exemples
Exemple #1 Un agent simple qui attend 5 secondes
<?php
echo "Début\n";
# Crée un nouvel agent.
$gmworker= new GearmanWorker();
# Ajoute un serveur par défaut (localhost).
$gmworker->addServer();
# Enregistre une fonction "reverse" avec le serveur.
$gmworker->addFunction("reverse", "reverse_fn");
# Définit le délai d'attente à 5 secondes
$gmworker->setTimeout(5000);
echo "Attente d'un travail...\n";
while(@$gmworker->work() || $gmworker->returnCode() == GEARMAN_TIMEOUT)
{
if ($gmworker->returnCode() == GEARMAN_TIMEOUT)
{
# Normalement, vous devriez faire quelques lignes utiles ici...
echo "Délai d'attente expiré. Attente du prochain travail...\n";
continue;
}
if ($gmworker->returnCode() != GEARMAN_SUCCESS)
{
echo "return_code: " . $gmworker->returnCode() . "\n";
break;
}
}
echo "Fait\n";
function reverse_fn($job)
{
return strrev($job->workload());
}
?>
L'exécution d'un agent avec aucun travail de soumis générera un affichage qui ressemblera à quelques choses comme :
Début Attente d'un travail... Délai d'attente expiré. Attente du prochain travail... Délai d'attente expiré. Attente du prochain travail... Délai d'attente expiré. Attente du prochain travail...
There are no user contributed notes for this page.
