(PECL gearman >= 0.5.0)
GearmanClient::doStatus — Obtém o status da tarefa em execução
Retorna o status da tarefa em execução. Isso deve ser usado entre chamadas repetidas a GearmanClient::doNormal().
Esta função não possui parâmetros.
Um array que representa a porcentagem de conclusão dada como uma fração, com o primeiro elemento o numerador e o segundo elemento o denominador.
Exemplo #1 Obtém o status de uma tarefa de longa execução
O trabalhador neste exemplo tem um atraso artificial adicionado durante o processamento da string a ser revertida. Após cada atraso, ele chama GearmanJob::status() que o cliente então pega.
<?php
echo "Começando\n";
# Cria nosso objeto cliente.
$gmclient= new GearmanClient();
# Adiciona servidor padrão (localhost).
$gmclient->addServer();
echo "Enviando tarefa\n";
# Envia tarefa reversa
do
{
  $result = $gmclient->doNormal("reverse", "Hello!");
  # Verifica vários pacotes de retorno e erros.
  switch($gmclient->returnCode())
  {
    case GEARMAN_WORK_DATA:
      break;
    case GEARMAN_WORK_STATUS:
      # obtém o status atual da tarefa
      list($numerator, $denominator)= $gmclient->doStatus();
      echo "Status: $numerator/$denominator concluído\n";
      break;
    case GEARMAN_WORK_FAIL:
      echo "Falhou\n";
      exit;
    case GEARMAN_Sucesso:
      break;
    default:
      echo "RET: " . $gmclient->returnCode() . "\n";
      exit;
  }
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);
echo "Sucesso: $result\n";
?>O exemplo acima produzirá algo semelhante a:
Começando Enviando tarefa Status: 1/6 concluído Status: 2/6 concluído Status: 3/6 concluído Status: 4/6 concluído Status: 5/6 concluído Status: 6/6 concluído Sucesso: !olleH
