diff --git a/pipeline_service/agent_loop.py b/pipeline_service/agent_loop.py index ec7402b..374a3d4 100644 --- a/pipeline_service/agent_loop.py +++ b/pipeline_service/agent_loop.py @@ -2778,6 +2778,12 @@ async def pm_review_run(project_id, agent_id=None, model_name=None): except Exception: pass if _skip_gqc: + # 先提交认领(_claim_task 的 UPDATE 在本连接未提交), + # 否则 approve_task 在另一连接更新同一行会等自己的锁超时(1205)。 + try: + await sor.sqlExe("COMMIT", {}) + except Exception: + pass from .task_capability import approve_task await approve_task(task_id, project_id, who="agent.pm", agent_id=agent_id, comment="产线自带质量门禁,PM 豁免内容复审") @@ -3118,6 +3124,12 @@ async def qc_review_run(project_id, agent_id=None, model_name=None): # 的任务直接放行,避免被当「交付件合规检查」反复拒回烧轮次。 # task_kind=bid_* 兜底覆盖改造前创建的存量任务(params 里没有豁免标记)。 if skip_generic_qc or task_kind.startswith("bid_"): + # 先提交认领(_claim_task 的 UPDATE 在本连接未提交), + # 否则 qc_exempt_task 在另一连接更新同一行会等自己的锁超时(1205)。 + try: + await sor.sqlExe("COMMIT", {}) + except Exception: + pass from .task_capability import qc_exempt_task await qc_exempt_task(task_id, project_id, who="agent.qc", agent_id=agent_id, comment="产线自带质量门禁,豁免通用QC(skip_generic_qc/bid_*)")