PHP Doku:: Get the status for the running task - gearmanclient.dostatus.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzSonstige DiensteGearmanThe GearmanClient classGearmanClient::doStatus

Ein Service von Reinhard Neidl - Webprogrammierung.

The GearmanClient class

<<GearmanClient::doLowBackground

GearmanClient::echo>>

GearmanClient::doStatus

(PECL gearman >= 0.5.0)

GearmanClient::doStatusGet the status for the running task

Beschreibung

public array GearmanClient::doStatus ( void )

Returns the status for the running task. This should be used between repeated GearmanClient::do() calls.

Parameter-Liste

Diese Funktion hat keine Parameter.

Rückgabewerte

An array representing the percentage completion given as a fraction, with the first element the numerator and the second element the denomintor.

Beispiele

Beispiel #1 Get the status of a long running job

The worker in this example has an artificial delay added during processing of the string to be reversed. After each delay it calls GearmanJob::status() which the client then picks up.

<?php

echo "Starting\n";

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo 
"Sending job\n";

# Send reverse job
do
{
  
$result $gmclient->do("reverse""Hello!");

  
# Check for various return packets and errors.
  
switch($gmclient->returnCode())
  {
    case 
GEARMAN_WORK_DATA:
      break;
    case 
GEARMAN_WORK_STATUS:
      
# get the current job status
      
list($numerator$denominator)= $gmclient->doStatus();
      echo 
"Status: $numerator/$denominator complete\n";
      break;
    case 
GEARMAN_WORK_FAIL:
      echo 
"Failed\n";
      exit;
    case 
GEARMAN_SUCCESS:
      break;
    default:
      echo 
"RET: " $gmclient->returnCode() . "\n";
      exit;
  }
}
while(
$gmclient->returnCode() != GEARMAN_SUCCESS);

echo 
"Success: $result\n";

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Starting
Sending job
Status: 1/6 complete
Status: 2/6 complete
Status: 3/6 complete
Status: 4/6 complete
Status: 5/6 complete
Status: 6/6 complete
Success: !olleH

Siehe auch


Keine BenutzerBeiträge.
- Beiträge aktualisieren...



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)