Перейти до основного вмісту

Task Flow

Task Flow — це базовий рівень оркестрації потоків, розташований над фоновими завданнями. Він керує стійкими багатокроковими потоками з власним станом, відстеженням ревізій і семантикою синхронізації, тоді як окремі завдання залишаються одиницею відокремленої роботи.

Коли використовувати Task Flow

Використовуйте Task Flow, коли робота охоплює кілька послідовних або розгалужених кроків і вам потрібно стійке відстеження поступу між перезапусками шлюзу. Для окремих фонових операцій достатньо звичайного завдання.
СценарійВикористання
Окреме фонове завданняЗвичайне завдання
Багатокроковий конвеєр (A потім B потім C)Task Flow (керований)
Спостереження за зовнішньо створеними завданнямиTask Flow (дзеркальний)
Одноразове нагадуванняЗавдання cron

Режими синхронізації

Керований режим

Task Flow повністю керує життєвим циклом. Він створює завдання як кроки потоку, доводить їх до завершення й автоматично просуває стан потоку. Приклад: потік щотижневого звіту, який (1) збирає дані, (2) генерує звіт і (3) доставляє його. Task Flow створює кожен крок як фонове завдання, чекає на завершення, а потім переходить до наступного кроку.
Flow: weekly-report
  Step 1: gather-data     → task created → succeeded
  Step 2: generate-report → task created → succeeded
  Step 3: deliver         → task created → running

Дзеркальний режим

Task Flow спостерігає за зовнішньо створеними завданнями й підтримує стан потоку синхронізованим, не перебираючи на себе створення завдань. Це корисно, коли завдання походять із завдань cron, команд CLI чи інших джерел і вам потрібне уніфіковане подання їхнього поступу як потоку. Приклад: три незалежні завдання cron, які разом утворюють процедуру “ранкові операції”. Дзеркальний потік відстежує їхній сукупний поступ, не контролюючи, коли і як вони виконуються.

Стійкий стан і відстеження ревізій

Кожен потік зберігає власний стан і відстежує ревізії, тож поступ зберігається після перезапусків шлюзу. Відстеження ревізій дає змогу виявляти конфлікти, коли кілька джерел одночасно намагаються просунути той самий потік.

Поведінка скасування

openclaw tasks flow cancel встановлює для потоку стійкий намір скасування. Активні завдання в межах потоку скасовуються, а нові кроки не запускаються. Намір скасування зберігається між перезапусками, тож скасований потік залишається скасованим, навіть якщо шлюз перезапуститься до завершення всіх дочірніх завдань.

Команди CLI

# List active and recent flows
openclaw tasks flow list

# Show details for a specific flow
openclaw tasks flow show <lookup>

# Cancel a running flow and its active tasks
openclaw tasks flow cancel <lookup>
КомандаОпис
openclaw tasks flow listПоказує відстежувані потоки зі статусом і режимом синхронізації
openclaw tasks flow show <id>Переглянути один потік за ідентифікатором потоку або ключем пошуку
openclaw tasks flow cancel <id>Скасувати активний потік і його активні завдання

Як потоки пов’язані із завданнями

Потоки координують завдання, а не замінюють їх. Один потік може керувати кількома фоновими завданнями протягом свого життєвого циклу. Використовуйте openclaw tasks, щоб переглядати окремі записи завдань, і openclaw tasks flow, щоб переглядати потік оркестрації.

Пов’язане