PHP 8.4.1 Released!

GearmanClient::setCompleteCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCompleteCallbackSet a function to be called on task completion

Descrição

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

Use to set a callback function to be called when a GearmanTask is completed, or when GearmanJob::sendComplete() is invoked by a worker (whichever happens first).

This callback executes only when executing a GearmanTask using GearmanClient::runTasks(). It is not used for individual jobs.

Nota:

A função de retorno só será chamada para tarefas que forem adicionadas (por exemplo, chamando GearmanClient::addTask()) após a chamada a este método.

Parâmetros

callback

Uma função ou um método a ser chamado. Deve retornar um valor de retorno Gearman válido.

Se nenhuma declaração de retorno estiver presente, o padrão será GEARMAN_SUCCESS.

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

A tarefa para a qual esta função é chamada.

context

Qualquer coisa que foi passada para GearmanClient::addTask() (ou método equivalente) como contexto.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 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