PHP 文档对此有点模糊,所以我在这里问它。鉴于此工作人员代码:
<?php
$gmworker= new GearmanWorker();
$gmworker->addServer();
$gmworker->addFunction("doSomething", "doSomethingFunc");
while($gmworker->work());
function doSomethingFunc()
{
try {
$value = doSomethingElse($job->workload());
} catch (Exception $e) {
// Need to notify the client of the error
}
return $value;
}
通知客户发生的任何错误的正确方法是什么?返回假?使用 GearmanJob::sendFail()?如果是后者,我是否需要在调用 sendFail() 后从我的 doSomethingFunc() 返回?返回值应该是 sendFail() 返回的值吗?
客户端使用 GearmanClient::returnCode() 来检查失败。此外,简单地使用“return $value”似乎可行,但我应该使用 GearmanJob::sendData() 还是 GearmanJob::sendComplete() 代替?