v1.2.21: fix broken advisory lock (→ partial unique index), escName add " escape, lock_check fallback False
This commit is contained in:
@@ -32,7 +32,6 @@ from operations.executor import execute_operation
|
||||
from operations.poll import poll_until_done
|
||||
from db.pool import get_conn, put_conn
|
||||
from db.save_run import save_run
|
||||
from db.scenario_defs import unlock_scenario
|
||||
|
||||
# Все инстансы созданные сценарием имеют такой префикс в displayName
|
||||
AUTOTEST_PREFIX = "autotest-scenario-"
|
||||
@@ -175,8 +174,7 @@ def run_scenario(client, steps, client_id, stand, user_email, app_version, scena
|
||||
bindings = {} # output_name → instance_uid (новый формат, именованные ссылки)
|
||||
instance_map = {} # service_id → instance_uid (fallback, старый формат)
|
||||
|
||||
try:
|
||||
for i, step in enumerate(steps):
|
||||
for i, step in enumerate(steps):
|
||||
step_num = i + 1 # шаги нумеруются с 1 (для пользователя)
|
||||
svc_id = step.get("service_id")
|
||||
op_name = (step.get("operation") or "").strip()
|
||||
@@ -306,8 +304,6 @@ def run_scenario(client, steps, client_id, stand, user_email, app_version, scena
|
||||
round(time.time() - t0, 1), err)
|
||||
return
|
||||
|
||||
# Все шаги пройдены успешно
|
||||
_save_scenario_run(scenario_run_id, "OK", total, round(time.time() - t0, 1))
|
||||
finally:
|
||||
# Освободить advisory lock ВСЕГДА (даже при исключении)
|
||||
unlock_scenario(client_id, stand)
|
||||
# Все шаги пройдены успешно
|
||||
_save_scenario_run(scenario_run_id, "OK", total, round(time.time() - t0, 1))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user