函数名:GearmanWorker::setId()
适用版本:Gearman 0.5.0 及以上版本
用法:GearmanWorker::setId() 方法用于设置 Gearman worker 的唯一标识符(ID)。此标识符用于区分不同的 worker 进程。
语法:bool GearmanWorker::setId ( string $id )
参数:
- $id: 要设置的 worker ID,必须是一个字符串。通常使用唯一的标识符,比如一个 UUID。
返回值:如果设置成功,则返回 true。如果设置失败,则返回 false。
示例:
// 创建一个 Gearman worker 实例
$worker = new GearmanWorker();
// 设置 worker 的 ID
$worker->setId("my-worker-1");
// 添加一个 job 处理函数
$worker->addFunction("my-job", "myJobHandler");
// 启动 worker
while ($worker->work()) {
if ($worker->returnCode() != GEARMAN_SUCCESS) {
echo "Worker failed: " . $worker->error() . "\n";
break;
}
}
// 自定义的 job 处理函数
function myJobHandler($job)
{
// 处理 job 逻辑
// ...
// 返回处理结果
return "Job completed successfully";
}
在上面的示例中,我们首先创建了一个 GearmanWorker 实例,并通过调用 setId()
方法将 worker 的 ID 设置为 "my-worker-1"。然后,我们添加了一个名为 "my-job" 的 job 处理函数,并在 while 循环中启动了 worker。在自定义的 job 处理函数中,我们可以编写实际的 job 处理逻辑,并返回处理结果。