<var id="1y86n"><em id="1y86n"><dfn id="1y86n"></dfn></em></var>

    GearmanClient::jobStatus

    gearman_job_status

    (PECL gearman >= 0.5.0)

    GearmanClient::jobStatus -- gearman_job_statusGet the status of a background job

    說明

    面向?qū)ο箫L(fēng)格 (method):

    public GearmanClient::jobStatus(string $job_handle): array

    Gets the status for a background job given a job handle. The status information will specify whether the job is known, whether the job is currently running, and the percentage completion.

    參數(shù)

    job_handle

    由 Gearman 服務(wù)器指派的工作句柄。

    返回值

    An array containing status information for the job corresponding to the supplied job handle. The first array element is a boolean indicating whether the job is even known, the second is a boolean indicating whether the job is still running, and the third and fourth elements correspond to the numerator and denominator of the fractional completion percentage, respectively.

    范例

    示例 #1 Monitor the status of a long running background job

    <?php

    /* create our object */
    $gmclient= new GearmanClient();

    /* add the default server */
    $gmclient->addServer();

    /* run reverse client */
    $job_handle $gmclient->doBackground("reverse""this is a test");

    if (
    $gmclient->returnCode() != GEARMAN_SUCCESS)
    {
      echo 
    "bad return code\n";
      exit;
    }

    $done false;
    do
    {
       
    sleep(3);
       
    $stat $gmclient->jobStatus($job_handle);
       if (!
    $stat[0]) // the job is known so it is not done
          
    $done true;
       echo 
    "Running: " . ($stat[1] ? "true" "false") . ", numerator: " $stat[2] . ", denomintor: " $stat[3] . "\n";
    }
    while(!
    $done);

    echo 
    "done!\n";

    ?>

    以上例程的輸出類似于:

    Running: true, numerator: 3, denomintor: 14
    Running: true, numerator: 6, denomintor: 14
    Running: true, numerator: 9, denomintor: 14
    Running: true, numerator: 12, denomintor: 14
    Running: false, numerator: 0, denomintor: 0
    done!
    

    參見