GearmanClient::setCompleteCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCompleteCallbackDefine una función a llamar una vez finalizada la tarea

Descripción

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

Define una función de retrollamada a ejecutar cuando una GearmanTask finaliza, o cuando GearmanJob::sendComplete() es llamado por el worker (dependiendo de lo que ocurra primero).

Esta función de retrollamada se ejecuta únicamente durante la ejecución de una GearmanTask mediante GearmanClient::runTasks(). No se utiliza para trabajos individuales.

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 1 note

up
6
Justas Butkus
13 years ago
One shall note, that callback function MUST either return a valid Gearman status code, or return nothing (do not return).

I.e. these are valid complete callbacks:

<?php
function goodCallbackOne(GearmanTask $task)
{
print_r($task);
}
?>

<?php
function goodCallbackTwo(GearmanTask $task)
{
print_r($task);
return
GEARMAN_SUCCESS;
}
?>

While following is NOT, unless you want your client code to fail with Gearman error 'german wait:no active file descriptors':

<?php
function badCallbackTwo(GearmanTask $task)
{
print_r($task);
return
true;
}
?>
To Top