(PECL gearman >= 0.5.0)
GearmanClient::setCompleteCallback — Set a function to be called on task completion
Use to set a callback 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.
Note: The callback will only be triggered for tasks that are added (e.g. by calling GearmanClient::addTask() ) after calling this method.
callbackGEARMAN_SUCCESS .
taskcontextcontext.
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;
}
?>