fix: 豁免分支先COMMIT认领再迁移——_claim_task的UPDATE未提交,另一连接更新同一行锁等待超时1205(实测豁免路径50秒卡死)

This commit is contained in:
ymq 2026-09-03 12:44:22 +08:00
parent ae78742479
commit 63d9e00a1e

View File

@ -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="产线自带质量门禁豁免通用QCskip_generic_qc/bid_*")