Spaces:
Running
Running
Update hub_dashboard_service.py
Browse files- hub_dashboard_service.py +10 -6
hub_dashboard_service.py
CHANGED
|
@@ -1,12 +1,14 @@
|
|
| 1 |
#!/usr/bin/env python3
|
| 2 |
"""
|
| 3 |
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 4 |
-
β K1RL QUASAR β HUB DASHBOARD SERVICE (with Trade Log Parser) β FIXED v2.
|
| 5 |
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
|
| 6 |
β Architecture role: READ-ONLY subscriber β serves dashboard UI β
|
| 7 |
-
β VERSION: v2.
|
| 8 |
β β
|
| 9 |
β FIXES APPLIED: β
|
|
|
|
|
|
|
| 10 |
β β
FIX v2.4: All /api/ranker/logs/* routes inline β no Blueprint dependency β
|
| 11 |
β β
FIX v2.4: Training KPI enrichment (_enrich_training) applied on /recent β
|
| 12 |
β β
FIX #1: Include rotated log files (*.log, *.log.1, *.log.2, etc.) β
|
|
@@ -45,7 +47,7 @@ logger = logging.getLogger("HubDashboardService")
|
|
| 45 |
|
| 46 |
# ββ Config ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 47 |
_HUB_HOST = os.environ.get("QUASAR_HUB_HOST", "karlquant-quasar-executo.hf.space")
|
| 48 |
-
_DASHBOARD_PORT = int(os.environ.get("DASHBOARD_PORT", "
|
| 49 |
_HTML_PATH = os.environ.get(
|
| 50 |
"DASHBOARD_HTML",
|
| 51 |
str(Path(__file__).parent / "hub_dashboard.html"),
|
|
@@ -604,7 +606,7 @@ class HubSubscriberClient:
|
|
| 604 |
|
| 605 |
def __init__(self, state: DashboardState):
|
| 606 |
self.state = state
|
| 607 |
-
self.hub_url = f"
|
| 608 |
self._ws = None
|
| 609 |
self._running = False
|
| 610 |
self._thread = None
|
|
@@ -883,14 +885,16 @@ def api_trades_closed():
|
|
| 883 |
|
| 884 |
@app.route("/api/health")
|
| 885 |
def health():
|
| 886 |
-
return jsonify({"status": "ok", "version": "v2.
|
| 887 |
|
| 888 |
|
| 889 |
if __name__ == "__main__":
|
| 890 |
-
logger.info("=== K1RL QUASAR HUB DASHBOARD SERVICE v2.
|
| 891 |
logger.info(f"Dashboard: http://localhost:{_DASHBOARD_PORT}")
|
| 892 |
logger.info(f"Log directory: {_LOG_DIR}")
|
| 893 |
logger.info("Fixes applied:")
|
|
|
|
|
|
|
| 894 |
logger.info(" β
FIX v2.4: All /api/ranker/logs/* routes inline β no Blueprint dependency")
|
| 895 |
logger.info(" β
FIX v2.4: Training KPI enrichment (_enrich_training) applied on /recent")
|
| 896 |
logger.info(" β
FIX #1: Now reading *.log* (includes rotated files)")
|
|
|
|
| 1 |
#!/usr/bin/env python3
|
| 2 |
"""
|
| 3 |
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 4 |
+
β K1RL QUASAR β HUB DASHBOARD SERVICE (with Trade Log Parser) β FIXED v2.5 β
|
| 5 |
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
|
| 6 |
β Architecture role: READ-ONLY subscriber β serves dashboard UI β
|
| 7 |
+
β VERSION: v2.5 (PORT FIX) | 2026-04-04 β
|
| 8 |
β β
|
| 9 |
β FIXES APPLIED: β
|
| 10 |
+
β β
FIX v2.5: Default port changed 8051β7860 (HF Spaces only exposes 7860) β
|
| 11 |
+
β β
FIX v2.5: WebSocket URL changed ws://host:7860 β wss://host (HF proxy TLS) β
|
| 12 |
β β
FIX v2.4: All /api/ranker/logs/* routes inline β no Blueprint dependency β
|
| 13 |
β β
FIX v2.4: Training KPI enrichment (_enrich_training) applied on /recent β
|
| 14 |
β β
FIX #1: Include rotated log files (*.log, *.log.1, *.log.2, etc.) β
|
|
|
|
| 47 |
|
| 48 |
# ββ Config ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 49 |
_HUB_HOST = os.environ.get("QUASAR_HUB_HOST", "karlquant-quasar-executo.hf.space")
|
| 50 |
+
_DASHBOARD_PORT = int(os.environ.get("DASHBOARD_PORT", "7860"))
|
| 51 |
_HTML_PATH = os.environ.get(
|
| 52 |
"DASHBOARD_HTML",
|
| 53 |
str(Path(__file__).parent / "hub_dashboard.html"),
|
|
|
|
| 606 |
|
| 607 |
def __init__(self, state: DashboardState):
|
| 608 |
self.state = state
|
| 609 |
+
self.hub_url = f"wss://{_HUB_HOST}/ws/subscribe"
|
| 610 |
self._ws = None
|
| 611 |
self._running = False
|
| 612 |
self._thread = None
|
|
|
|
| 885 |
|
| 886 |
@app.route("/api/health")
|
| 887 |
def health():
|
| 888 |
+
return jsonify({"status": "ok", "version": "v2.5-port-fix"})
|
| 889 |
|
| 890 |
|
| 891 |
if __name__ == "__main__":
|
| 892 |
+
logger.info("=== K1RL QUASAR HUB DASHBOARD SERVICE v2.5 (PORT FIX) ===")
|
| 893 |
logger.info(f"Dashboard: http://localhost:{_DASHBOARD_PORT}")
|
| 894 |
logger.info(f"Log directory: {_LOG_DIR}")
|
| 895 |
logger.info("Fixes applied:")
|
| 896 |
+
logger.info(" β
FIX v2.5: Default port 8051β7860 (HF Spaces public port)")
|
| 897 |
+
logger.info(" β
FIX v2.5: WebSocket URL wss:// (no explicit port β HF proxy handles TLS)")
|
| 898 |
logger.info(" β
FIX v2.4: All /api/ranker/logs/* routes inline β no Blueprint dependency")
|
| 899 |
logger.info(" β
FIX v2.4: Training KPI enrichment (_enrich_training) applied on /recent")
|
| 900 |
logger.info(" β
FIX #1: Now reading *.log* (includes rotated files)")
|