GearmanClient::setCompleteCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCompleteCallbackSet a function to be called on task completion

说明

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

Use to set a function to be called when a GearmanTask is completed, or when GearmanJob::sendComplete() is invoked by a worker (whichever happens first).

This callback executes only when executing a GearmanTask using GearmanClient::runTasks(). It is not used for individual jobs.

参数

callback

A function to be called

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE

参见

User Contributed Notes

Justas Butkus 18-Aug-2011 06:59
One shall note, that callback function MUST either return a valid Gearman status code, or return nothing (do not return).

I.e. these are valid complete callbacks:

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

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

While following is NOT, unless you want your client code to fail with Gearman error 'german wait:no active file descriptors':

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