v1.2.16: save full instance metadata (instance_meta JSONB)
init_db.py: ALTER TABLE runs ADD instance_meta JSONB
save_run.py: +instance_meta parameter → JSONB insert
api_test.py: _finish_op fetches GET /instances/{uid} after poll, saves all fields
scenario.py: run_scenario same — per-step instance metadata
Excludes: instanceUid, displayName, svc, serviceId, explainedStatus (already in other columns)
This commit is contained in:
+6
-4
@@ -9,9 +9,10 @@ from db.pool import get_conn, put_conn
|
||||
def save_run(client_id, stand, user_email, svc_id, svc_name, op_name, svc_op_id,
|
||||
op_uid, instance_uid, display_name, status, duration_sec,
|
||||
error_log, params, stages, app_version,
|
||||
scenario_run_id=None, step_number=None):
|
||||
scenario_run_id=None, step_number=None, instance_meta=None):
|
||||
"""Сохранить один запуск в таблицу runs.
|
||||
Опционально: scenario_run_id + step_number для шагов сценария."""
|
||||
Опционально: scenario_run_id + step_number для шагов сценария.
|
||||
instance_meta — JSONB с полной информацией об инстансе."""
|
||||
conn = get_conn()
|
||||
if not conn:
|
||||
print("[DB] save_run SKIP: no connection", flush=True)
|
||||
@@ -23,8 +24,8 @@ def save_run(client_id, stand, user_email, svc_id, svc_name, op_name, svc_op_id,
|
||||
INSERT INTO runs (client_id, stand, user_email, svc_id, svc_name,
|
||||
op_name, svc_op_id, op_uid, instance_uid, display_name,
|
||||
status, duration_sec, error_log, params, stages, app_version,
|
||||
scenario_run_id, step_number)
|
||||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
|
||||
scenario_run_id, step_number, instance_meta)
|
||||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
|
||||
""", (
|
||||
client_id, stand, user_email, svc_id, svc_name, op_name, svc_op_id,
|
||||
op_uid, instance_uid, display_name, status, duration_sec,
|
||||
@@ -33,6 +34,7 @@ def save_run(client_id, stand, user_email, svc_id, svc_name, op_name, svc_op_id,
|
||||
json.dumps(stages) if stages else None,
|
||||
app_version,
|
||||
scenario_run_id, step_number,
|
||||
json.dumps(instance_meta) if instance_meta else None,
|
||||
))
|
||||
conn.commit()
|
||||
cur.close()
|
||||
|
||||
Reference in New Issue
Block a user