PHP 8.4.6 Released!

GearmanClient::setCreatedCallback

(PECL gearman >= 0.5.0)

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

Description

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

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.

Parameters

callback

A function or method to call. It should return a valid Gearman return value.

If no return statement is present, it defaults to GEARMAN_SUCCESS.

callback(GearmanTask $task, mixed $context): int
task

The task this callback is called for.

context

Whatever has been passed to GearmanClient::addTask() (or equivalent method) as context.

Return Values

Returns true on success or false on failure.

See Also

User Contributed Notes

stanislav dot reshetnev at gmail dot com
10 years ago
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
10 years ago
Contrary to the documentation, this callback accepts an instance of \GearmanTask, not \GearmanClient.
To Top