Gearman背景工作状态回调

时间:2013-10-18 17:19:45

标签: php gearman

我正在处理Gearman的后台任务。

如果您在http://www.php.net/manual/en/gearmanclient.addtaskstatus.php处阅读代码示例,您会看到以下评论:

/* Poll the server to see when those background jobs finish; */
/* a better method would be to use event callbacks */

这些事件回调究竟是什么?

我尝试了以下内容:

    $client->setCreatedCallback(function(GearmanTask $task){
    });
    $client->setExceptionCallback(function(GearmanTask $task){
    });
    $client->setFailCallback(function(GearmanTask $task){
    });

但是当使用$ client-> doBackground()添加任务时,它们都不会触发。

感谢。

1 个答案:

答案 0 :(得分:0)

后台任务被调用,因为它们允许提交它们的客户端解除阻塞并断开连接。他们没有向客户开放通信渠道,因此您无法获得任何状态更新。 如果要检查后台作业的状态,请使用GearmanClient :: jobStatus。 请参阅herehere