# Portability: SYSTEM
# Last validated: 2026-05-17
# Next review: 2027-05-17
# Следующий экзамен: 15 ноября 2026 г.
# Ресурсы: [hub/scheduler.py, gui/daemon_service.py, Scheduler_jobs, Scheduler_runs]

SCHEDULER — фоновые задания и служба планировщика
----------------------------------------------------

ДАТА: 28 февраля 2026 г.

Примечание: `bach Scheduler ...` — это новое имя планировщика.
Старая команда `bach daemon ...` по-прежнему доступна в качестве псевдонима.

ВАЖНАЯ ПОЛИТИКА
---------------
**ВСЕ ЗАДАНИЯ ПЛАНИРОВЩИКА ОТКЛЮЧЕНЫ ПО УМОЛЧАНИЮ.**

Причина: автоматические процессы могут работать с активными сеансами чата
и генератор подсказок сталкиваются. Работа только ручная
активируется при необходимости.

Планировщик автоматически приостанавливает синхронизацию OneDrive во время работы.
чтобы избежать конфликтов синхронизации.

См.: docs/CONCEPT_daemon_policy.md

КОМАНДЫ CLI (планировщик Баха)
-----------------------------

  вакансии Показать все вакансии
  статус Статус планировщика
  status --json Статус планировщика в формате JSON
  Доктор Планировщик предполетных проверок и заметок о восстановлении
  Doctor --json Предварительная проверка планировщика в формате JSON
  start [--bg] Запустить службу планировщика (--bg для фона)
  остановить Остановить службу планировщика
  run <ID> Запуск отдельных заданий вручную
  журналы [N] Показать последние записи журнала (по умолчанию: 20)
  jobs --json Задания планировщика с расчетным статусом JSON

SESSION-SYSTEM
--------------

  начало сеанса [--profile NAME] Запустить планировщик сеанса
  остановка сеанса Остановить планировщик сеансов
  статус сеанса Показать статус сеанса
  статус сеанса --json Статус сеанса в формате JSON
  Сеансовый врач Предполетная подготовка к сеансу и заметки о восстановлении
  доктор сеанса --json Предварительная проверка сеанса как JSON
  пауза сеанса [--profile NAME] [Причина] Триггер паузы для профиля
  возобновление сеанса [--profile NAME] Возобновить профиль
  управление сеансом [--profile NAME] «Текст» Сохранить управляющую информацию для следующего сеанса
  sessionclear-steer [--profile NAME] Инструкции по очистке профиля
  триггер сеанса [--profile NAME] Запустить сеанс вручную
  профили сеансов Список доступных профилей

  Пример с пробным прогоном:
    bach scheduler session trigger --profile wartung --dry-run

  Пример с операторским управлением:
    bach scheduler session steer --profile ati "Bitte heute nur Health-Checks und Docs anfassen."
    bach scheduler session status --json

ТИПЫ ЗАДАНИЙ
---------

  интервал Повторение через определенный период времени (например, 24 часа, 30 минут)
  по расписанию cron (например, «0 2 * * *» = 2 часа ночи ежедневно)
  событие Триггер на основе события (запускается извне)
  руководство Может быть выполнено только вручную
  цепочка Выполнение заданий по цепочке (система цепочек)

Планировщик автоматически проверяет каждые 5 минут выполнение повторяющихся задач.

ДОСТУПНЫЕ ЗАДАНИЯ (все ВЫКЛ по умолчанию)
-------------------------------------------
Примечание: список заданий является динамическим. Текущие вакансии через: задания планировщика Баха

Примеры вакансий:
  ID Имя Функция расписания
  -- ----------------------- --------- --------------------------------
  1 сканер 60 м Сканирование папок программного обеспечения для выполнения задач
  2 резервных копии 24 часа Автоматическое резервное копирование
  3 процесса сканирования входящих сообщений 30 млн папок входящих сообщений
  4 веса консолидированного веса в 24-часовой памяти (распад)
  5 консолидировать-архивировать 24 часа Архивировать старые записи
  6 консолидированный индекс 7d Индекс обновления справки/вики
  7 24-часовых сеансов сжатия-консолидации
  8 консолидация-мы 7д Еженедельная консолидация
  9 Крон ночного обслуживания 0 2 Цепочка ночного обслуживания
  10 Еженедельное резервное копирование cron 0 3 0 Еженедельное резервное копирование

 Задания соединителя (v2.0, через планировщик настройки соединителя bach):
  -- Connector_poll_and_route 2 м соединителей пыльца + маршрутизация входящих сообщений
  -- Connector_dispatch 1m Отправить исходящую очередь с повтором

ВЫПОЛНИТЬ ЗАДАНИЕ ВРУЧНУЮ
----------------------
Рекомендуемый метод вместо автоматического планировщика:

  # Один раз запустить задание
  bach scheduler run 1         # Один раз запустить сканер
  bach scheduler run 2         # Один раз создать резервную копию
  bach scheduler jobs --json   # Задания для внешних инструментов/агентов

  # Или напрямую командой
  bach scan run                # Сканер
  bach backup create           # Резервное копирование
  bach consolidate run         # Консолидация

GUI
---
  http://127.0.0.1:8000/планировщик панель управления планировщиком

  - Включить/отключить задания
  - Запустить вручную
  - Просмотр последних выполнений

Псевдоним: bach daemon ...
----------------------
Предыдущее имя команды `bach daemon` по-прежнему является псевдонимом.
доступен для обратной совместимости. Обе формы командования
эквивалентны:

  bach daemon jobs      == задания планировщика Баха
  bach daemon status    == статус планировщика Баха
  bach daemon start     == запуск планировщика Баха

СМОТРИ ТАКЖЕ
----------
  bach --help daemon           Старая документация (псевдоним)
docs/CONCEPT_daemon_policy.md Политики планировщика
  bach --help connector        Система соединителей (очередь, повтор)
  bach --help maintain         Инструменты обслуживания
  bach --help backup           Система резервного копирования
  bach --help consolidation    Консолидация памяти
