GearmanClient::doNormal

(No version information available, might only be in Git)

GearmanClient::doNormal — Виконує одиночне завдання та повертає результат

Опис

public GearmanClient::doNormal(string $function, string $workload, ?string $unique = null): string

Виконує одиночне завдання та повертає рядкове подання результату. Формат результату, що повертається, визначають об'єкти. GearmanClient і GearmanWorker

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

function

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

workload

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

unique

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

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

Рядок, що представляє результат виконання завдання.

Приклади

Приклад #1 Виконання простого завдання з негайним поверненням

Loading...
Loading...
Loading...

Висновок наведеного прикладу буде схожим на:

Запуск
Отправка задания
Задание выполнено: !olleH

Приклад #2 Надсилання завдання на обробку та моніторинг стану

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

Loading...
Loading...

Висновок наведеного прикладу буде схожим на:

Висновок оброблювача:

Запуск
Ожидание задания...
Получено задание: H:foo.local:106
Загружены данные: Hello! (6)
1/6 завершено
2/6 завершено
3/6 завершено
4/6 завершено
5/6 завершено
6/6 завершено
Результат: !olleH

Висновок клієнта:

Запуск
Отправка задания
Состояние: 1/6 завершено
Данные: H
Состояние: 2/6 завершено
Данные: e
Состояние: 3/6 завершено
Данные: l
Состояние: 4/6 завершено
Данные: l
Состояние: 5/6 завершено
Данные: o
Состояние: 6/6 завершено
Данные: !
Обработка завершена: !olleH

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

  • GearmanClient::doHigh() - Запускає на виконання завдання із високим пріоритетом
  • GearmanClient::doLow() - Запускає виконання завдання з низьким пріоритетом
  • GearmanClient::doBackground() - Запускає виконання завдання у фоновому режимі
  • GearmanClient::doHighBackground() - Запускає на виконання із високим пріоритетом завдання у фоновому режимі
  • GearmanClient::doLowBackground() - Запускає на виконання з низьким пріоритетом завдання у фоновому режимі