(PECL gearman >= 0.6.0)
GearmanWorker::wait — Attente une activité d'un ou plusieurs serveurs de travaux
   Met à attente l'agent d'une activité d'un ou plusieurs serveurs de travaux lors
   d'un fonctionnement en mode I/O non bloquant. En cas d'échec, une alerte de niveau
   E_WARNING sera émise avec le contenu de la dernière erreur Gearman
   survenue.
  
Cette fonction ne contient aucun paramètre.
Exemple #1 Exécution d'un agent en mode non bloquant
<?php
echo "Début\n";
# Crée un nouvel agent
$worker= new GearmanWorker();
# Rend l'agent non bloquant
$worker->addOptions(GEARMAN_WORKER_NON_BLOCKING); 
# Ajoute un serveur par défaut (localhost, port 4730)
$worker->addServer(); 
# Ajoute une fonction "reverse"
$worker->addFunction('reverse', 'reverse_fn');
# Tente de récupérer un travail
while (@$worker->work() ||
       $worker->returnCode() == GEARMAN_IO_WAIT ||
       $worker->returnCode() == GEARMAN_NO_JOBS)
{
  if ($worker->returnCode() == GEARMAN_SUCCESS)
    continue;
  echo "Attente du premier travail...\n";
  if (!@$worker->wait()) 
  { 
    if ($worker->returnCode() == GEARMAN_NO_ACTIVE_FDS) 
    { 
      # Nous ne sommes connectés à aucun serveur ; nous attendons donc un peu
      # avant de tenter une reconnexion.
      sleep(5); 
      continue; 
    } 
    break; 
  } 
} 
echo "Erreur de l'agent : " . $worker->error() . "\n";
function reverse_fn($job)
{
  return strrev($job->workload());
}
?>