English | 简体中文 | 繁體中文
查询

GearmanWorker::returnCode()函数—用法及示例

「 获取上一次 Gearman 任务执行的返回码 」


函数名:GearmanWorker::returnCode()

适用版本:GearmanWorker类在PHP 5 >= 5.3.0, PECL gearman >= 0.5.0 版本中可用。

用法:GearmanWorker::returnCode() 函数用于获取上一次 Gearman 任务执行的返回码。

返回码是一个整数,代表了任务的执行状态。返回码的含义如下:

  • GEARMAN_SUCCESS:任务成功完成。
  • GEARMAN_IO_WAIT:等待 I/O 事件。
  • GEARMAN_WORK_FAIL:任务执行失败。
  • GEARMAN_WORK_EXCEPTION:任务执行时发生异常。
  • GEARMAN_WORK_DATA:任务返回数据。
  • GEARMAN_WORK_WARNING:任务执行时发出警告。
  • GEARMAN_WORK_STATUS:任务执行状态更新。

示例:

<?php
$worker = new GearmanWorker();
$worker->addServer('127.0.0.1', 4730);

$worker->addFunction('reverse', function (GearmanJob $job) {
    $workload = $job->workload();
    $result = strrev($workload);
    $job->sendData($result);
});

while ($worker->work()) {
    if ($worker->returnCode() !== GEARMAN_SUCCESS) {
        echo "Worker failed with return code: " . $worker->returnCode() . "\n";
        break;
    }
}
?>

在上面的示例中,我们创建了一个 GearmanWorker 对象,并添加了一个函数 reverse。当有任务到达时,该函数会将任务的负载字符串颠倒并通过 $job->sendData() 返回结果。在 while 循环中,我们通过检查 $worker->returnCode() 的返回值来判断工作进程是否正常运行。如果返回码不等于 GEARMAN_SUCCESS,则表示任务执行失败,我们输出相应的错误信息并终止循环。

补充纠错
上一个函数: GearmanTask::data()函数
下一个函数: GearmanWorker::setId()函数
热门PHP函数
分享链接