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:
parent
a5e17bcdd8
commit
dc8d4db358
@ -103,15 +103,6 @@ class ScenarioStep:
|
|||||||
# contains/equals/not_contains/not_empty/regex: условие
|
# 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
|
@dataclass
|
||||||
class ScenarioConfig:
|
class ScenarioConfig:
|
||||||
"""Конфигурация одного сценария мониторинга."""
|
"""Конфигурация одного сценария мониторинга."""
|
||||||
@ -125,7 +116,6 @@ class ScenarioConfig:
|
|||||||
channel: Optional[str] = None
|
channel: Optional[str] = None
|
||||||
restart_closed: bool = False
|
restart_closed: bool = False
|
||||||
steps: List[ScenarioStep] = field(default_factory=list)
|
steps: List[ScenarioStep] = field(default_factory=list)
|
||||||
archive_check: Optional[ArchiveCheckConfig] = None
|
|
||||||
|
|
||||||
|
|
||||||
def _dict_to_scenario_step(data: Dict[str, Any]) -> ScenarioStep:
|
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."""
|
"""Преобразует словарь из YAML в ScenarioConfig."""
|
||||||
steps = [_dict_to_scenario_step(s) for s in data.get("steps", [])]
|
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(
|
return ScenarioConfig(
|
||||||
name=data.get("name", ""),
|
name=data.get("name", ""),
|
||||||
description=data.get("description", ""),
|
description=data.get("description", ""),
|
||||||
@ -159,7 +140,6 @@ def _dict_to_scenario_config(data: Dict[str, Any]) -> ScenarioConfig:
|
|||||||
channel=data.get("channel"),
|
channel=data.get("channel"),
|
||||||
restart_closed=data.get("restart_closed", False),
|
restart_closed=data.get("restart_closed", False),
|
||||||
steps=steps,
|
steps=steps,
|
||||||
archive_check=archive_check,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,10 +2,9 @@
|
|||||||
Главный цикл watchdog-демона для мониторинга SES.
|
Главный цикл watchdog-демона для мониторинга SES.
|
||||||
|
|
||||||
Архитектура:
|
Архитектура:
|
||||||
- Бесконечный asyncio-цикл с тремя параллельными задачами:
|
- Бесконечный asyncio-цикл с двумя параллельными задачами:
|
||||||
1. liveness_task: быстрые проверки каждые 30 секунд.
|
1. liveness_task: быстрые проверки каждые 30 секунд.
|
||||||
2. scenarios_task: запуск сценариев по их индивидуальному расписанию.
|
2. scenarios_task: запуск сценариев по их индивидуальному расписанию.
|
||||||
3. archive_task: анализ архива каждые 10 минут.
|
|
||||||
- Hot-reload сценариев из каталога каждые 60 секунд.
|
- Hot-reload сценариев из каталога каждые 60 секунд.
|
||||||
- Все метрики отправляются в Zabbix единым батчем после проверок.
|
- Все метрики отправляются в Zabbix единым батчем после проверок.
|
||||||
- Graceful shutdown по SIGTERM/SIGINT.
|
- Graceful shutdown по SIGTERM/SIGINT.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user