Track created instances, show only ours in UI, v1.0.36

This commit is contained in:
2026-07-24 16:51:08 +04:00
parent 20573201b9
commit 560bd62fce
3 changed files with 55 additions and 2 deletions
+11 -1
View File
@@ -3,6 +3,8 @@ from flask import Blueprint, current_app, jsonify, request
from api.http_client import HttpClient
from operations.get_services import get_services, get_service_detail
from operations.get_instances import get_instances
from operations.tracker import add as tracker_add, list_all as tracker_list
from operations.tracker import remove as tracker_remove
bp = Blueprint("api_test", __name__)
@@ -38,8 +40,13 @@ def api_operations(svc_id):
try:
detail = get_service_detail(_client(), svc_id)
ops = detail.get("operations", [])
# только отслеживаемые инстансы этого сервиса
tracked = tracker_list()
tracked_uids = {t["instanceUid"] for t in tracked if t["svcId"] == svc_id}
instances = get_instances(_client())
svc_instances = [i for i in instances if i.get("serviceId") == svc_id and i.get("explainedStatus") not in ("deleted", "not created")]
svc_instances = [i for i in instances
if i.get("instanceUid") in tracked_uids
and i.get("explainedStatus") not in ("deleted", "not created")]
return jsonify({
"svc": detail.get("svc", ""),
"operations": [{"svcOperationId": o["svcOperationId"], "operation": o["operation"]} for o in ops],
@@ -115,6 +122,7 @@ def api_test():
result["status"] = "OK"
result["instanceUid"] = instance_uid
result["duration"] = round(time.time() - t0, 1)
tracker_add(instance_uid, svc_id, display_name)
return jsonify(result)
time.sleep(5)
result["status"] = "TIMEOUT"
@@ -136,6 +144,8 @@ def api_test():
result["status"] = "OK"
result["instanceUid"] = instance_uid
result["duration"] = round(time.time() - t0, 1)
if op_name == "delete":
tracker_remove(instance_uid)
return jsonify(result)
time.sleep(5)
result["status"] = "TIMEOUT"