GearmanClient::doStatus
(PECL gearman >= 0.5.0)
GearmanClient::doStatus — Get the status for the running task
説明
Returns the status for the running task. This should be used between repeated GearmanClient::doNormal() calls.
パラメータ
この関数にはパラメータはありません。
戻り値
An array representing the percentage completion given as a fraction, with the first element the numerator and the second element the denomintor.
例
例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->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";
?>
上の例の出力は、 たとえば以下のようになります。
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
参考
- GearmanClient::doNormal() - Run a single task and return a result
- GearmanJob::status() - Send status (deprecated)
+add a note
User Contributed Notes
There are no user contributed notes for this page.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google