Наша группа в телеграмм для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov

GearmanClient::addTaskLow

(PECL gearman >= 0.5.0)

GearmanClient::addTaskLow — Добавить низкоприоритетную задачу для работы в параллельном режиме


Описание

public GearmanTask GearmanClient::addTaskLow ( string $function_name , string $workload [, mixed &$context [, string $unique ]] )

Добавляет низкоприоритетную задачу для параллельной работы с другими задачами. Вызовите этот метод для всех задач, которые будут работать параллельно, а затем вызовите GearmanClient::runTasks() для выполнения работ. Задачи с низким приоритетом будут выбраны из очереди после задач с нормальным или высоким приоритетом.


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

function_name -

Зарегистрированная функция, вызываемая рабочим процессом

workload -

Сериализованные данные, подлежащие обработке

context -

Контекст приложения, связываемый с задачей

unique -

Уникальный ID, назначаемый определенной задаче


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

Объект GearmanTask или FALSE, если задача не может быть добавлена.


Примеры

Пример #1 Низкоприоритетная задача вместе с двумя нормальными задачами

Низкоприоритетная задача включена среди двух других задач. Единственный рабочий доступен, так что задачи запускаются одна за другой, низкоприоритетные задачи выполняются в последнюю очередь.


# создание клиента
$gmc= new GearmanClient();
# добавление сервера задач по умолчанию
$gmc->addServer();
# установка функции обратного вызова по завершению задачи
$gmc->setCompleteCallback("reverse_complete");
# добавление задач, одна из которых с низким приоритетом
$task= $gmc->addTask("reverse", "Hello World!", null, "1");
$task= $gmc->addTaskLow("reverse", "!dlroW olleH", null, "2");
$task= $gmc->addTask("reverse", "Hello World!", null, "3");
if (! $gmc->runTasks())
{
    echo "Ошибка " . $gmc->error() . "\n";
    exit;
}
echo "Готово\n";
function reverse_complete($task)
{
    echo "Выполнено: " . $task->unique() . ", " . $task->data() . "\n";
}

Результатом выполнения данного примера будет что-то подобное:


Выполнено: 3, !dlroW olleH
Выполнено: 1, !dlroW olleH
Выполнено: 2, Hello World!
Готово


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


Описание класса gearmanclient, примеры использования класса gearmanclient.

Описание на ru2.php.net
Описание на php.ru

.

Популярное:


Содержание: