GearmanWorker
PHP Manual

GearmanWorker::wait

(PECL gearman >= 0.6.0)

GearmanWorker::waitWait for activity from one of the job servers

Description

public bool GearmanWorker::wait ( void )

Causes the worker to wait for activity from one of the Gearman job servers when operating in non-blocking I/O mode. On failure, issues a E_WARNING with the last Gearman error encountered.

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 Running worker in non-blocking mode

<?php

echo "Starting\n";

# Create our worker object
$worker= new GearmanWorker();

# Make the worker non-blocking
$worker->addOptions(GEARMAN_WORKER_NON_BLOCKING); 

# Add the default server (localhost, port 4730)
$worker->addServer(); 

# Add our reverse function
$worker->addFunction('reverse''reverse_fn');

# Try to grab a job
while (@$worker->work() ||
       
$worker->returnCode() == GEARMAN_IO_WAIT ||
       
$worker->returnCode() == GEARMAN_NO_JOBS)
{
  if (
$worker->returnCode() == GEARMAN_SUCCESS)
    continue;

  echo 
"Waiting for next job...\n";
  if (!@
$worker->wait()) 
  { 
    if (
$worker->returnCode() == GEARMAN_NO_ACTIVE_FDS
    { 
      
# We are not connected to any servers, so wait a bit before 
      # trying to reconnect. 
      
sleep(5); 
      continue; 
    } 
    break; 
  } 


echo 
"Worker Error: " $worker->error() . "\n";

function 
reverse_fn($job)
{
  return 
strrev($job->workload());
}


?>

Voir aussi


GearmanWorker
PHP Manual