(PECL gearman >= 0.5.0)
GearmanClient::setCreatedCallback — Set a callback for when a task is queued
Sets a callback function to be called when a task is received and queued by the Gearman job server.
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.
Callback can accept not only GearmanTask object, but it can recieve a variable from GearmanClient::addTask():
<?php
$client = new GearmanClient();
$client->addServer();
$client->setCreatedCallback(function(GearmanTask $task, $some_info) {
// now we have $some_info
// ...
});
$client->addTask($function_name, $workload, "some info");
?>
So, we can send to our anonymous function something like $workload, because we can't get it from GearmanTask object. It may be usefull for logging of tasks queuing.Contrary to the documentation, this callback accepts an instance of \GearmanTask, not \GearmanClient.