fix: diagnose_bid_project补paused门禁——非in_progress项目只诊断不派发(9/2诊断入口绕过暂停派发违反零消耗铁律)
This commit is contained in:
parent
66e7f79ec7
commit
ab60afc018
@ -717,6 +717,9 @@ async def diagnose_bid_project(project_id):
|
|||||||
if not prec:
|
if not prec:
|
||||||
return "项目不存在: %s" % project_id
|
return "项目不存在: %s" % project_id
|
||||||
proj = rec_to_dict(prec[0])
|
proj = rec_to_dict(prec[0])
|
||||||
|
# 门禁:非 in_progress 的项目只诊断不派发(2026-09-02:诊断入口曾绕过
|
||||||
|
# paused 排除派发任务,违反"项目 paused 零消耗"铁律)
|
||||||
|
_proj_paused = proj.get("status") not in ("in_progress", "active", "running")
|
||||||
hts = await sor.sqlExe(
|
hts = await sor.sqlExe(
|
||||||
"SELECT id, task_type, title, status FROM pipeline_human_tasks "
|
"SELECT id, task_type, title, status FROM pipeline_human_tasks "
|
||||||
"WHERE project_id=${p}$ ORDER BY created_at DESC LIMIT 20", {"p": project_id})
|
"WHERE project_id=${p}$ ORDER BY created_at DESC LIMIT 20", {"p": project_id})
|
||||||
@ -740,7 +743,9 @@ async def diagnose_bid_project(project_id):
|
|||||||
counts[tbl] = await _count(
|
counts[tbl] = await _count(
|
||||||
sor, "SELECT COUNT(*) AS c FROM " + tbl + " WHERE project_id=${p}$",
|
sor, "SELECT COUNT(*) AS c FROM " + tbl + " WHERE project_id=${p}$",
|
||||||
{"p": project_id})
|
{"p": project_id})
|
||||||
acts = await reconcile_project(sor, project_id, proj.get("name", ""))
|
acts = (["skipped: 项目状态 %s(非 in_progress),只诊断不派发" % proj.get("status")]
|
||||||
|
if _proj_paused
|
||||||
|
else await reconcile_project(sor, project_id, proj.get("name", "")))
|
||||||
return json.dumps({
|
return json.dumps({
|
||||||
"project": proj, "counts": counts,
|
"project": proj, "counts": counts,
|
||||||
"chapter_status": {getattr(r, "status", ""): to_int(getattr(r, "c", 0))
|
"chapter_status": {getattr(r, "status", ""): to_int(getattr(r, "c", 0))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user