牛牛在线工具

GearmanClient::doNormal()

收录 8868 个 PHP 函数,含用途说明与用法示例。

GearmanClient::doNormal()

向Gearman job server提交一个普通的任务请求,并等待任务完成后返回结果

函数名:GearmanClient::doNormal() 适用版本:Gearman 0.6.0及以上版本 用法:GearmanClient::doNormal()函数用于向Gearman job server提交一个普通的任务请求,并等待任务完成后返回结果。该函数会阻塞当前进程直到任务完成或超时。 语法:bool GearmanClient::doNormal(string $function_name, string $workload [, string $unique = '']) 参数: $function_name:要执行的任务函数名。 $workload:任务的负载数据,可以是任意字符串。 $unique(可选):任务的唯一标识符,用于防止重复提交任务。默认为空。 返回值: 如果任务成功提交,返回true。 如果任务提交失败,返回false。 示例: <?php // 创建Gearman客户端 $client = new GearmanClient(); // 连接Gearman job server $client->addServer('127.0.0.1', 4730); // 提交一个普通任务请求 $function_name = 'my_task_function'; $workload = 'Hello, Gearman!'; $unique = 'unique_id'; if ($client->doNormal($function_name, $workload, $unique)) { echo "任务提交成功\n"; } else { echo "任务提交失败\n"; } // 等待任务完成并获取结果 $result = $client->doNormal($function_name, $workload, $unique); if ($result) { echo "任务执行成功,结果为: " . $result . "\n"; } else { echo "任务执行失败\n"; } // 关闭Gearman客户端连接 $client->close(); ?> 注意事项: 在使用GearmanClient::doNormal()函数之前,需要先通过GearmanClient::addServer()方法连接到Gearman job server。 如果任务提交成功,可以通过再次调用GearmanClient::doNormal()函数来等待任务完成并获取结果。 如果任务提交失败,可以根据具体的错误信息进行调试和处理。 任务函数需要在Gearman job server上注册并实现相应的Worker逻辑。 可以使用GearmanClient::setCompleteCallback()方法来设置任务完成时的回调函数。 可以使用GearmanClient::setTimeout()方法来设置任务的超时时间。