Add incident exports, queue SLA, and OpenWrt diff utilities
This commit is contained in:
@@ -6,6 +6,14 @@ from typing import Any
|
||||
from services.health import health
|
||||
from services.runner import run_cmd_full
|
||||
from services.incidents import log_incident
|
||||
from services import runtime_state
|
||||
|
||||
|
||||
def _save_history(entry: dict[str, Any]) -> None:
|
||||
hist = runtime_state.get("selftest_history", [])
|
||||
hist = hist[:50] if isinstance(hist, list) else []
|
||||
hist.insert(0, entry)
|
||||
runtime_state.set_state("selftest_history", hist[:20])
|
||||
|
||||
|
||||
async def run_selftest(cfg: dict[str, Any], docker_map: dict[str, str]) -> tuple[str, bool]:
|
||||
@@ -40,7 +48,19 @@ async def run_selftest(cfg: dict[str, Any], docker_map: dict[str, str]) -> tuple
|
||||
lines.append(f"🔴 Restic snapshots error: {out.strip() or rc}")
|
||||
ok = False
|
||||
|
||||
return "\n".join(lines), ok
|
||||
result_text = "\n".join(lines)
|
||||
try:
|
||||
_save_history(
|
||||
{
|
||||
"ts": datetime.now().isoformat(),
|
||||
"ok": ok,
|
||||
"summary": result_text.splitlines()[1] if len(lines) > 1 else "",
|
||||
}
|
||||
)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
return result_text, ok
|
||||
|
||||
|
||||
async def schedule_selftest(cfg: dict[str, Any], bot, admin_ids: list[int], docker_map: dict[str, str]):
|
||||
|
||||
Reference in New Issue
Block a user