Skip to main content

Workflow

Overview

user_code: com.finmars.standard-workflow:workflow-manager
payload: optional

Воркфлоу менеджер предназначен для запуска воркеров в требуемоем порядке с определенным payload.

Основной сценарий использования воркфлоу менеджера предназачен при отсутствии payload.

Сценарий его работы:

  1. Прочитать или создать файл /states/global\_state\_manager.json
  2. Прочитать все json менеджеров в /states/managers
  3. Прочитать статус выполнения каждого менеджера из поля "status" в соотетствующем json
  4. Распределить стейт файлы по статусам в виде словаря
{
    "to-do": [],
    "in-progress": [
        "com.finmars.standard-workflow:workflow-manager-20240821095322.json"
    ],
    "done": [
        "com.finmars.standard-workflow:workflow-manager-20240724101635.json",
        "com.finmars.standard-workflow:workflow-manager-20240724104102.json"
    ],
    "paused": []
}
  1. Запустить логику обработки данных стейт-файловЛогика обработки global_state_manager.json
  1. Попытаться прочитать файл global_state_manager.json. Если нет, то создать его.
  2. Прочитать список файлов из /states/managers/.
  3. Распределить по статусам и сохранить в global_state_manager.json
    • Если файла нет, то добавить в to_do
    • Если в to-do, то сменить статус на in-progress
    • Если файл есть, то обновить статус
  4. Прочитать содержимое файла из in-progress Логика обработки загруженного стейта файла менеджера