GearmanClient::doStatus

Get the status for the running task

&reftitle.description; public `array` `GearmanClient::doStatus`

Returns the status for the running task. This should be used between repeated `GearmanClient::doNormal` calls.

&reftitle.parameters; &no.function.parameters;
&reftitle.returnvalues;

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

&reftitle.examples;

### 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->doNormal("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";

    ?>

&example.outputs.similar;

    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

&reftitle.seealso;

- `GearmanClient::doNormal`
- `GearmanJob::status`