PHP 8.5.0 Alpha 1 available for testing

GearmanClient::setCreatedCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCreatedCallbackDefine una función de retrollamada a llamar cuando una tarea es colocada en la cola

Descripción

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

Define una función de retrollamada a llamar cuando una tarea es colocada en la cola del servidor de trabajos gearman.

Nota:

El callback solo será disparado para las tareas que son añadidas (por ejemplo llamando a GearmanClient::addTask()) después de la llamada a este método.

Parámetros

callback

Una función o método a llamar. Debe retornar un valor válido de retorno Gearman.

Si no se proporciona una instrucción de retorno, el valor por omisión será GEARMAN_SUCCESS.

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

La tarea para la cual se llama este callback.

context

Todo lo que se pasó a GearmanClient::addTask() (o método equivalente) como context.

Valores devueltos

Esta función retorna true en caso de éxito o false si ocurre un error.

Ver también

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