(PECL gearman >= 0.6.0)
GearmanWorker::wait — Aguarda atividade de um dos servidores de trabalho
   Faz com que o trabalhador espere por atividade de um dos servidores de trabalho do Gearman ao operar
   em modo de E/S não bloqueante. Em caso de falha, emite um E_WARNING com o último erro do Gearman
   encontrado.
  
Esta função não possui parâmetros.
Exemplo #1 Executando o trabalhador no modo não bloqueante
<?php
echo "Começando\n";
# Cria um objeto trabalhador.
$worker= new GearmanWorker();
# Torna o trabalhador não bloqueante
$worker->addOptions(GEARMAN_WORKER_NON_BLOCKING);
# Adiciona o servidor padrão (localhost, porta 4730)
$worker->addServer();
# Adiciona nossa função reversa
$worker->addFunction('reverse', 'reverse_fn');
# Tenta pegar um trabalho
while (@$worker->work() ||
       $worker->returnCode() == GEARMAN_IO_WAIT ||
       $worker->returnCode() == GEARMAN_NO_JOBS)
{
  if ($worker->returnCode() == GEARMAN_SUCCESS)
    continue;
  echo "Esperando o próximo trabalho...\n";
  if (!@$worker->wait())
  {
    if ($worker->returnCode() == GEARMAN_NO_ACTIVE_FDS)
    {
      # Não estamos conectados a nenhum servidor, então
      # aguarde um pouco antes de tentar reconectar.
      sleep(5);
      continue;
    }
    break;
  }
}
echo "Erro no trabalhador: " . $worker->error() . "\n";
function reverse_fn($job)
{
  return strrev($job->workload());
}
?>