Files
app-autotest/site/db/save_run.py
T

38 lines
1.2 KiB
Python

"""
Сохранение результатов тестов в БД.
"""
import json
from db.pool import get_conn, put_conn
def save_run(client_id, stand, svc_id, svc_name, op_name, svc_op_id,
instance_uid, display_name, status, duration_sec,
error_log, params, stages):
"""Сохранить один запуск в таблицу runs."""
conn = get_conn()
if not conn:
return
try:
cur = conn.cursor()
cur.execute("""
INSERT INTO runs (client_id, stand, svc_id, svc_name, op_name, svc_op_id,
instance_uid, display_name, status, duration_sec,
error_log, params, stages)
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
""", (
client_id, stand, svc_id, svc_name, op_name, svc_op_id,
instance_uid, display_name, status, duration_sec,
error_log,
json.dumps(params) if params else None,
json.dumps(stages) if stages else None,
))
conn.commit()
cur.close()
except Exception as e:
print(f"[DB] save_run error: {e}", flush=True)
conn.rollback()
finally:
put_conn(conn)