main.py aktualisiert

This commit is contained in:
2026-03-04 12:56:10 +00:00
parent d7e9b28832
commit 1d337ed77a

21
main.py
View File

@@ -210,19 +210,24 @@ async def run_remote_task(ip, user, cmd, task_name):
async def refresh_status(node_id: int):
conn = get_db()
node = conn.execute('SELECT * FROM nodes WHERE id = ?', (node_id,)).fetchone()
conn.close()
if node:
# Kurzer Check via SSH
# Kurzer Check via SSH, ob Docker antwortet
check_cmd = "command -v docker >/dev/null 2>&1 && echo 'Docker Aktiv' || echo 'Bereit (Kein Docker)'"
ssh_cmd = f"ssh -o StrictHostKeyChecking=no {node['user']}@{node['ip']} \"{check_cmd}\""
ssh_cmd = f"ssh -o StrictHostKeyChecking=no -o ConnectTimeout=2 {node['user']}@{node['ip']} \"{check_cmd}\""
try:
result = subprocess.check_output(ssh_cmd, shell=True, timeout=5).decode().strip()
update_node_status(node['ip'], result)
except:
update_node_status(node['ip'], "Offline/Fehler")
# Wir führen den Befehl aus
new_status = subprocess.check_output(ssh_cmd, shell=True).decode().strip()
except Exception:
new_status = "Offline/Fehler"
return RedirectResponse(url="/", status_code=303)
conn.execute('UPDATE nodes SET status = ? WHERE id = ?', (new_status, node_id))
conn.commit()
conn.close()
return {"status": new_status} # Wir senden nur den Status zurück
conn.close()
return {"status": "Unbekannt"}
if __name__ == "__main__":
import uvicorn