GearmanClient::addTaskBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskBackground — Додати фонове завдання для роботи в паралельному режимі

Опис

public GearmanClient::addTaskBackground(    string $function_name,    string|int|float $workload,    mixed $context = null,    ?string $unique_key = null): GearmanTask|false

Додає фонове завдання для паралельної роботи з іншими завданнями. Викличте цей метод для всіх завдань, які працюватимуть паралельно, а потім викличте GearmanClient::runTasks() для виконання робіт.

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

function_name

Зареєстрована функція, що викликається робочим процесом

workload

Серіалізовані дані, що підлягають обробці

context

Контекст програми, що пов'язується із завданням

unique_key

Унікальний ID, який призначається певному завданню

Значення, що повертаються

Об'єкт GearmanTaskили**false**, якщо завдання не може бути додано.

Приклади

Приклад #1 Два завдання, одне у фоновому режимі, а інше ні

Цей приклад ілюструє різницю між виконанням фонової задачі і звичайним завданням. Клієнт додає дві задачі для виконання тих самих функцій, але одна додана за допомогою addTaskBackground(). Callback-функція встановлена ​​так, щоб виконання завдання можна було простежити. Простий обробник зі штучною затримкою повідомляє статус виконання завдання, і клієнт розуміє це через виклик callback-функції. Два обробники запущені для цього прикладу. Зверніть увагу, що фонове завдання не відображається у клієнтському висновку.

Loading...
Loading...

Виведення робітника для двох запущених працівників:

Полученная задача: H:foo.local:65
Рабочая нагрузка: !dlroW olleH (12)
1/12 выполнено
Полученная задача: H:foo.local:66
Рабочая нагрузка: Hello World! (12)
Отправка статуса: 1/12 выполнено
Отправка статуса: 2/12 выполнено
Отправка статуса: 2/12 выполнено
Отправка статуса: 3/12 выполнено
Отправка статуса: 3/12 выполнено
Отправка статуса: 4/12 выполнено
Отправка статуса: 4/12 выполнено
Отправка статуса: 5/12 выполнено
Отправка статуса: 5/12 выполнено
Отправка статуса: 6/12 выполнено
Отправка статуса: 6/12 выполнено
Отправка статуса: 7/12 выполнено
Отправка статуса: 7/12 выполнено
Отправка статуса: 8/12 выполнено
Отправка статуса: 8/12 выполнено
Отправка статуса: 9/12 выполнено
Отправка статуса: 9/12 выполнено
Отправка статуса: 10/12 выполнено
Отправка статуса: 10/12 выполнено
Отправка статуса: 11/12 выполнено
Отправка статуса: 11/12 выполнено
Отправка статуса: 12/12 выполнено
Отправка статуса: 12/12 выполнено
Результат: !dlroW olleH
Результат: Hello World!

Клієнт виводить:

Статус: 1, H:foo.local:66 - 1/12
Статус: 1, H:foo.local:66 - 2/12
Статус: 1, H:foo.local:66 - 3/12
Статус: 1, H:foo.local:66 - 4/12
Статус: 1, H:foo.local:66 - 5/12
Статус: 1, H:foo.local:66 - 6/12
Статус: 1, H:foo.local:66 - 7/12
Статус: 1, H:foo.local:66 - 8/12
Статус: 1, H:foo.local:66 - 9/12
Статус: 1, H:foo.local:66 - 10/12
Статус: 1, H:foo.local:66 - 11/12
Статус: 1, H:foo.local:66 - 12/12
Завершено: 1, !dlroW olleH
Выполнено

Дивіться також

  • GearmanClient::addTask() - Додати завдання, яке буде виконано у паралельному режимі
  • GearmanClient::addTaskHigh() - Додати високопріоритетне завдання для роботи в паралельному режимі
  • GearmanClient::addTaskLow() - Додати низькопріоритетне завдання для роботи в паралельному режимі
  • GearmanClient::addTaskHighBackground() - Додати високопріоритетне фонове завдання для роботи в паралельному режимі
  • GearmanClient::addTaskLowBackground() - Додати низькопріоритетне фонове завдання для роботи в паралельному режимі
  • GearmanClient::runTasks() - Запустити список завдань у паралельному режимі