send start and stop healthchecks signals correctly

This commit is contained in:
Alex Tau 2025-08-15 20:11:32 +03:00
parent 13fd4b05d9
commit 878a4fc092
8 changed files with 54 additions and 38 deletions

View file

@ -52,8 +52,10 @@ async def async_main():
check_sets = config_enums.CheckSet
checker_sets: dict[config_enums.CheckSet, list[Coroutine | BaseChecker]] = {
check_sets.START: [sender.send_start_alert()],
check_sets.STOP: [], # this is checked later
check_sets.SELF: [
sender.send_alert(checks.generate_start_alert()),
IntervalChecker(checks.self_check, interval=datetime.timedelta(minutes=5), persistent=False),
],
check_sets.CPU: [IntervalChecker(checks.cpu_check, interval=datetime.timedelta(minutes=3), persistent=True)],
check_sets.RAM: [IntervalChecker(checks.ram_check, interval=datetime.timedelta(minutes=1), persistent=True)],
check_sets.TEMP: [IntervalChecker(checks.temp_check, interval=datetime.timedelta(minutes=5), persistent=True)],
@ -120,8 +122,10 @@ async def async_main():
checker_tasks.add(task)
while True:
if stopping:
if "stop" in config.enabled_check_sets:
await sender.send_stop_alert()
if "self" in config.enabled_check_sets:
alert = checks.generate_stop_alert()
await sender.send_alert(alert)
await sender.send_healthchecks_status(alert)
await tg_client.disconnect()
raise SystemExit
else: