Перейти до основного вмісту
Версія: 2.0

Стан workflow

Стан workflow можна відстежувати методом running(), який повертає true, якщо workflow ще виконується, та false, якщо він завершився успішно чи з помилкою.

while ($workflow->running());

Значення станів​

Метод status() повертає рядкові значення стану:

reserved
pending
running
waiting
cancelled
terminated
completed
failed
  • reserved означає, що ідентифікатор екземпляра створено, але першу команду запуску ще не прийнято
  • pending означає, що запуск існує та має роботу, готову для отримання
  • running означає, що завдання workflow має активну оренду worker
  • waiting означає, що запуск очікує на стійке джерело відновлення, наприклад activity, timer або іменований signal
  • cancelled означає, що прийнята команда скасування на рівні рушія закрила поточний запуск
  • terminated означає, що прийнята команда примусового завершення на рівні рушія примусово закрила поточний запуск
  • completed, failed, cancelled та terminated є кінцевими станами запуску

Коли запуск використовує continueAsNew(), старий запуск завершується зі status = completed та closed_reason = continued. Waterline залишає його в групі завершених, але показує точне closed_reason, щоб оператори бачили, що екземпляр перейшов до нового запуску.

running() повертає true для pending, running та waiting.

Автомат станів​

Це автомат станів workflow.

Автомат станів workflow
Автомат станів workflow