GearmanClient::setCompleteCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCompleteCallback设置一个在任务完成时调用的函数

说明

public GearmanClient::setCompleteCallback(callable $function): bool

用于设置一个当 GearmanTask 完成时,或当工作者调用 GearmanJob::sendComplete() 时(以先发生者为准)调用的函数。

此回调函数仅在使用 GearmanClient::runTasks() 执行 GearmanTask 时执行。它不适用于单个作业。

参数

function

要调用的函数

返回值

成功返回 true,失败返回 false

参见

添加备注

用户贡献备注 1 备注

6
Justas Butkus
12 年前
需要注意的是,回调函数必须返回有效的 Gearman 状态码,或者不返回任何值(不要返回值)。

例如,以下都是有效的完成回调函数

<?php
function goodCallbackOne(GearmanTask $task)
{
print_r($task);
}
?>

<?php
function goodCallbackTwo(GearmanTask $task)
{
print_r($task);
return
GEARMAN_SUCCESS;
}
?>

而以下则不是,除非您希望您的客户端代码因 Gearman 错误“german wait:no active file descriptors”而失败

<?php
function badCallbackTwo(GearmanTask $task)
{
print_r($task);
return
true;
}
?>
To Top