函数名:GearmanClient::wait()
适用版本:Gearman扩展版本 >= 0.5.0
用法:GearmanClient::wait() 函数用于阻塞直到所有已提交的后台任务都完成或超时。它等待所有已提交的任务完成后返回,或者当超时时间到达时返回。
示例:
<?php
// 创建一个 Gearman 客户端对象
$client = new GearmanClient();
// 添加 Gearman 服务器
$client->addServer('127.0.0.1', 4730);
// 提交后台任务
$client->doBackground('task_name', 'task_data');
// 等待任务完成或超时(默认超时时间为无限)
$result = $client->wait();
if ($result) {
echo "所有任务已完成\n";
} else {
echo "任务超时\n";
}
// 关闭 Gearman 客户端连接
$client->close();
?>
在上面的示例中,首先创建一个 GearmanClient 对象,然后添加 Gearman 服务器。接下来,使用 doBackground()
方法提交一个后台任务。最后,使用 wait()
方法阻塞等待任务完成或超时。如果所有任务都完成,wait()
返回 true
,否则返回 false
。最后,使用 close()
方法关闭 Gearman 客户端连接。