Документы 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;
}
Каким образом можно уведомить клиента о любой ошибке, которая произошла? Вернуть false? Использовать GearmanJob:: sendFail()? Если это последнее, мне нужно вернуться из моего doSomethingFunc() после вызова sendFail()? Должно ли возвращаемое значение быть возвращенным функцией sendFail()?
Клиент использует GearmanClient:: returnCode() для проверки сбоев. Кроме того, просто использование "return $value", похоже, работает, но нужно ли вместо этого использовать GearmanJob:: sendData() или GearmanJob:: sendComplete()?