diff --git a/dashboard/dashboard.py b/dashboard/dashboard.py index b8f218f..a1e5ee6 100644 --- a/dashboard/dashboard.py +++ b/dashboard/dashboard.py @@ -1,10 +1,9 @@ -"""SyslogAI Harness Dashboard.""" +"""SyslogAI Harness Dashboard — Modern Design.""" import os, json, time, queue, threading import requests from flask import Flask, request, render_template_string, Response, stream_with_context ROUTER_METRICS = os.environ.get("ROUTER_METRICS_URL", "http://router:9000/metrics") - app = Flask(__name__) sse_subscribers = []; sse_lock = threading.Lock() @@ -20,239 +19,182 @@ def broadcast_loop(): time.sleep(3) data = fetch_state(); payload = json.dumps(data) with sse_lock: - dead = [] - for q in sse_subscribers: - try: q.put(payload) - except Exception: dead.append(q) + dead = [q for q in sse_subscribers if not q.put(payload)] for q in dead: sse_subscribers.remove(q) - threading.Thread(target=broadcast_loop, daemon=True).start() DASHBOARD_HTML = r""" - +
- - -