GearmanClient::setCreatedCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCreatedCallbackSet a callback for when a task is queued

说明

public GearmanClient::setCreatedCallback ( string $callback ) : bool

Sets a function to be called when a task is received and queued by the Gearman job server. The callback should accept a single argument, a GearmanTask object.

参数

callback

A function to call

返回值

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

参见

User Contributed Notes

stanislav dot reshetnev at gmail dot com 30-Oct-2014 04:07
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.
Karl Rixon 20-Oct-2014 02:57
Contrary to the documentation, this callback accepts an instance of \GearmanTask, not \GearmanClient.