From 6338d7d9e6234025caf1e350ca198e0bd165ef9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexis=20M=C3=A9taireau?= Date: Wed, 18 Oct 2023 12:43:55 +0200 Subject: [PATCH] Add a way to know when the last checks have been run --- argos/server/routes/views.py | 6 +++++- argos/server/templates/index.html | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/argos/server/routes/views.py b/argos/server/routes/views.py index bdbc162..0dbcc91 100644 --- a/argos/server/routes/views.py +++ b/argos/server/routes/views.py @@ -19,19 +19,23 @@ async def read_tasks(request: Request, db: Session = Depends(get_db)): tasks = db.query(Task).order_by(Task.domain).all() domains_severities = defaultdict(list) + domains_last_checks = defaultdict(list) for task in tasks: severity = task.severity or "to-process" domain = urlparse(task.url).netloc domains_severities[domain].append(severity) + domains_last_checks[domain].append(task.last_result.submitted_at) def _max_severity(severities): severity_level = {"ok": 1, "warning": 2, "critical": 3, "to-process": "4"} return max(severities, key=severity_level.get) domains = {key: _max_severity(value) for key, value in domains_severities.items()} + last_checks = {key: max(value) for key, value in domains_last_checks.items()} return templates.TemplateResponse( - "index.html", {"request": request, "domains": domains} + "index.html", + {"request": request, "domains": domains, "last_checks": last_checks}, ) diff --git a/argos/server/templates/index.html b/argos/server/templates/index.html index 3e623dc..23824b3 100644 --- a/argos/server/templates/index.html +++ b/argos/server/templates/index.html @@ -7,6 +7,7 @@ Domain Current status + Last check @@ -18,6 +19,7 @@ {% if status == "ok" %}✅ OK {% elif statuts == "warning"%}⚠ Warning{% elif status == "critical"%}❌ Critical{% elif status == "to-process" %}⏱︎ Waiting for the jobs{% endif %} + {{ last_checks.get(domain) }} {% endfor %}