函数名:GearmanClient::doStatus()
适用版本:Gearman 0.5.0及以上版本
函数说明:该函数用于获取Gearman job的状态信息。
用法:
public function doStatus ( string $job_handle ) : array
参数:
$job_handle
:要获取状态信息的job的句柄。
返回值:
- 一个包含状态信息的关联数组,包括以下键:
known
:已知的worker数量。running
:正在运行的worker数量。numerator
:已经完成的任务数量。denominator
:总共需要完成的任务数量。
示例:
$client = new GearmanClient();
$client->addServer('127.0.0.1', 4730);
$jobHandle = $client->doBackground('task_name', 'task_data');
$status = $client->doStatus($jobHandle);
echo "Known workers: " . $status['known'] . "\n";
echo "Running workers: " . $status['running'] . "\n";
echo "Completed tasks: " . $status['numerator'] . "\n";
echo "Total tasks: " . $status['denominator'] . "\n";
以上示例中,我们创建了一个GearmanClient对象,并添加了一个Gearman服务器。然后使用doBackground()
方法向服务器提交一个后台任务,并获取任务的句柄。最后,我们使用doStatus()
方法获取该任务的状态信息,并打印出已知的worker数量、正在运行的worker数量、已经完成的任务数量以及总共需要完成的任务数量。