diff --git a/tools/web_monitor/app.py b/tools/web_monitor/app.py index d35f94c7..2f10ce5a 100644 --- a/tools/web_monitor/app.py +++ b/tools/web_monitor/app.py @@ -1,4 +1,5 @@ import json +import datetime import os import asyncio import uvicorn @@ -37,6 +38,22 @@ def miner(request: Request, miner_ip): return get_miner +@app.websocket("/miner/{miner_ip}/ws") +async def miner_websocket(websocket: WebSocket, miner_ip): + await websocket.accept() + try: + while True: + # print(miner_ip) + await asyncio.sleep(.1) + data = {"hashrate": 1.11, "datetime": datetime.datetime.now().isoformat()} + await websocket.send_json(data) + + except WebSocketDisconnect: + print("Websocket disconnected.") + pass + + + @app.get("/miner/{miner_ip}") def get_miner(request: Request, miner_ip): return templates.TemplateResponse("miner.html", { diff --git a/tools/web_monitor/index.py b/tools/web_monitor/index.py deleted file mode 100644 index e69de29b..00000000 diff --git a/tools/web_monitor/scan_page.py b/tools/web_monitor/scan_page.py deleted file mode 100644 index af5b2ea5..00000000 --- a/tools/web_monitor/scan_page.py +++ /dev/null @@ -1,16 +0,0 @@ -from tools.web_monitor.app import sio -import json - - -async def scan_found_miner(miner): - """Send data to client that a miner was scanned. - - :param miner: The miner object that was scanned. - """ - await sio.emit('scan_found_miner', json.dumps( - { - "ip": str(miner.ip), - "model": str(miner.model), - "api": str(miner.api_type) - } - )) diff --git a/tools/web_monitor/templates/miner.html b/tools/web_monitor/templates/miner.html index fb10f31f..22a0a14d 100644 --- a/tools/web_monitor/templates/miner.html +++ b/tools/web_monitor/templates/miner.html @@ -1,4 +1,62 @@ {% extends 'navbar.html'%} {% block content %} -{{miner}} + + +

{{miner}}

+ + + {% endblock content %}