International PHP Conference Berlin 2025

GearmanClient::setCreatedCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCreatedCallbackУстанавливает callback-функцию при постановке задачи в очередь

Описание

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

Метод устанавливает функцию, которая вызывается, когда сервер задач Gearman получил и поставил задачу в очередь.

Замечание:

Callback-функция запустится только для задач, которые добавили методом GearmanClient::addTask() или альтернативным методом после вызова этого метода.

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

callback

Функция или метод, который требуется вызывать и от которого требуется возврат допустимого значение возврата сервера Gearman.

По умолчанию из callback-функции возвращается значение GEARMAN_SUCCESS, если в функции обратного вызова не указали инструкцию return.

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

Задача, для которой вызывается callback-функция.

context

Данные, которые передали в метод GearmanClient::addTask() или эквивалентный метод в аргументе context.

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

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

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

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

Добавить

Примечания пользователей 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