refactor: remove dead ArchiveCheckConfig and stale archive_task docs

- Remove ArchiveCheckConfig dataclass and archive_check field (never used)
- Remove archive parsing from _dict_to_scenario_config()
- Fix main.py docstring: archive_task never existed in _main_loop()
This commit is contained in:
Maksim Totmin 2026-06-24 13:39:57 +07:00
parent a5e17bcdd8
commit dc8d4db358
2 changed files with 1 additions and 22 deletions

View File

@ -103,15 +103,6 @@ class ScenarioStep:
# contains/equals/not_contains/not_empty/regex: условие
@dataclass
class ArchiveCheckConfig:
"""Настройки проверки архива для сценария."""
enabled: bool = False
lookback_minutes: int = 10
expect: List[Dict[str, Any]] = field(default_factory=list)
@dataclass
class ScenarioConfig:
"""Конфигурация одного сценария мониторинга."""
@ -125,7 +116,6 @@ class ScenarioConfig:
channel: Optional[str] = None
restart_closed: bool = False
steps: List[ScenarioStep] = field(default_factory=list)
archive_check: Optional[ArchiveCheckConfig] = None
def _dict_to_scenario_step(data: Dict[str, Any]) -> ScenarioStep:
@ -140,15 +130,6 @@ def _dict_to_scenario_config(data: Dict[str, Any]) -> ScenarioConfig:
"""Преобразует словарь из YAML в ScenarioConfig."""
steps = [_dict_to_scenario_step(s) for s in data.get("steps", [])]
archive_data = data.get("archive_check")
archive_check = None
if archive_data:
archive_check = ArchiveCheckConfig(
enabled=archive_data.get("enabled", False),
lookback_minutes=archive_data.get("lookback_minutes", 10),
expect=archive_data.get("expect", []),
)
return ScenarioConfig(
name=data.get("name", ""),
description=data.get("description", ""),
@ -159,7 +140,6 @@ def _dict_to_scenario_config(data: Dict[str, Any]) -> ScenarioConfig:
channel=data.get("channel"),
restart_closed=data.get("restart_closed", False),
steps=steps,
archive_check=archive_check,
)

View File

@ -2,10 +2,9 @@
Главный цикл watchdog-демона для мониторинга SES.
Архитектура:
- Бесконечный asyncio-цикл с тремя параллельными задачами:
- Бесконечный asyncio-цикл с двумя параллельными задачами:
1. liveness_task: быстрые проверки каждые 30 секунд.
2. scenarios_task: запуск сценариев по их индивидуальному расписанию.
3. archive_task: анализ архива каждые 10 минут.
- Hot-reload сценариев из каталога каждые 60 секунд.
- Все метрики отправляются в Zabbix единым батчем после проверок.
- Graceful shutdown по SIGTERM/SIGINT.