PHP Conference Nagoya 2025

GearmanClient::setCreatedCallback

(PECL gearman >= 0.5.0)

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

Beschreibung

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.

Hinweis:

Der Callback wird nur für Aufgaben ausgelöst, die nach dem Aufruf dieser Methode hinzugefügt werden (z. B. durch den Aufruf von GearmanClient::addTask()).

Parameter-Liste

callback

Die aufzurufende Funktion oder Methode. Sie sollte einen gültigen Gearman-Rückgabewert zurückgeben.

Wenn es keine Rückgabeanweisung gibt, ist der Standardwert GEARMAN_SUCCESS.

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

Die Aufgabe, für die dieser Callback aufgerufen wird.

context

Alles, was an GearmanClient::addTask() (oder eine entsprechende Methode) als context übergeben wurde.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Siehe auch

add a note

User Contributed Notes 2 notes

up
0
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.
up
0
Karl Rixon
10 years ago
Contrary to the documentation, this callback accepts an instance of \GearmanTask, not \GearmanClient.
To Top