downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

GearmanWorker::work> <GearmanWorker::unregisterAll
[edit] Last updated: Fri, 17 May 2013

view this page in

GearmanWorker::wait

(PECL gearman >= 0.6.0)

GearmanWorker::waitAttente une activité d'un ou plusieurs serveurs de travaux

Description

public bool GearmanWorker::wait ( void )

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.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

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());
}


?>

Voir aussi



add a note add a note User Contributed Notes GearmanWorker::wait - [0 notes]
There are no user contributed notes for this page.

 
show source | credits | sitemap | contact | advertising | mirror sites