refator_comm1
This commit is contained in:
13
app.py
13
app.py
@@ -537,6 +537,7 @@ def ws_observe(ws):
|
||||
if not node:
|
||||
ws.send(json.dumps({"type":"error","error":"could not resolve node"})); return
|
||||
|
||||
last_hash = None
|
||||
seen_upids = set()
|
||||
prev_node = node
|
||||
|
||||
@@ -549,6 +550,18 @@ def ws_observe(ws):
|
||||
ws.send(json.dumps({"type":"moved","old_node":node,"new_node":cur_node,"meta":{"sid":sid,"vmid":vmid,"typ":typ}}))
|
||||
prev_node, node = node, cur_node
|
||||
|
||||
# bieżący status VM/CT -> event "vm"
|
||||
try:
|
||||
base = f"/nodes/{node}/{typ}/{vmid}"
|
||||
cur = get_json(["pvesh", "get", f"{base}/status/current"]) or {}
|
||||
cur_hash = json.dumps(cur, sort_keys=True)
|
||||
if cur_hash != last_hash:
|
||||
last_hash = cur_hash
|
||||
ws.send(json.dumps({"type":"vm","current":cur,"meta":{"sid":sid,"node":node,"typ":typ,"vmid":vmid}}))
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# zadania na aktualnym i poprzednim nodzie
|
||||
nodes_to_scan = [node] + ([prev_node] if prev_node and prev_node != node else [])
|
||||
for nX in nodes_to_scan:
|
||||
tasks = get_json(["pvesh","get",f"/nodes/{nX}/tasks","-limit","50"]) or []
|
||||
|
Reference in New Issue
Block a user