@startuml title Планировщик: генерация задач (activity) start :cron/loop\nscheduler/__main__.py; :task_generator.run(); :Загрузка чек-листов\nс расписанием и источниками; :Для каждого источника (facility)\nвзять last_mark; :calc_allowed_interval(schedule_mark,\nnow, schedule, tz); if ("Есть интервал\nи он завершился?") then (Да) :Создать REVIEW_TASK\n(snapshot checklist + facility); :Обновить метку в чек-листе\n_marks[facility_id] = now; else (Нет) :Пропустить; endif stop @enduml