CakeFest 2024: The Official CakePHP Conference

GearmanClient::setCompleteCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCompleteCallbackУстановите функцию, которая будет вызвана по завершении задачи

Описание

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

Используется для установки функции, которая будет вызвана, когда GearmanTask будет выполнен, или когда обработчик вызовет GearmanJob::sendComplete(), в зависимости от того, что случится раньше.

Эта callback-функция запускается только когда GearmanTask запущен с использованием GearmanClient::runTasks(). Это не используется для индивидуальной работы.

Список параметров

function

Функция, которая должна быть вызвана.

Возвращаемые значения

Возвращает true в случае успешного выполнения или false, если возникла ошибка.

Смотрите также

  • GearmanClient::setDataCallback() - Задаёт callback-функцию для обработки переданных данных
  • GearmanClient::setCreatedCallback() - Установить функцию обратного вызова, когда задача ставится в очередь
  • GearmanClient::setExceptionCallback() - Установка функции обратного вызова для перехвата исключений обработчика заданий
  • GearmanClient::setFailCallback() - Установка callback-функции для обработки ситуации, когда задание не удалось выполнить
  • GearmanClient::setStatusCallback() - Задание callback-функции, собирающей информацию о состоянии обработчика заданий
  • GearmanClient::setWarningCallback() - Установка callback-функции, обслуживающей предупреждения обработчика заданий
  • GearmanClient::setWorkloadCallback() - Установка callback-функции, принимающей промежуточные результаты от обработчика заданий

add a note

User Contributed Notes 1 note

up
6
Justas Butkus
12 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