From 7404ab1ecdcf7bcbeb00cb0417f04a2e6fc6e6dc Mon Sep 17 00:00:00 2001 From: ymq Date: Tue, 25 Aug 2026 14:16:27 +0800 Subject: [PATCH] =?UTF-8?q?fix(gate):=20poller=20=E6=B4=BE=E5=8F=91?= =?UTF-8?q?=E9=97=A8=E7=A6=81=E7=BA=B3=E5=85=A5=E9=9C=80=E6=B1=82/?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E7=A1=AE=E8=AE=A4=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因:门禁 SQL 只认 general/bug_acceptance,漏了 requirement_confirmation/design_confirmation。 导致 PM 用 create_tasks 显式派发的下游任务绕过确认门禁被 poller 捞起执行 (实测 hrs7:设计确认 pending 期间 develop 任务已 running)。 在 poller 候选筛选层拦(agent + pm 两处),覆盖所有派发路径。 --- pipeline_service/init.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pipeline_service/init.py b/pipeline_service/init.py index 21f717a..bb2e4e8 100644 --- a/pipeline_service/init.py +++ b/pipeline_service/init.py @@ -673,7 +673,8 @@ def load_pipeline_service(): " SELECT i.id FROM sd_iterations i WHERE i.project_id=t.tenant_id " " AND i.status='in_progress' ORDER BY i.seq_no DESC LIMIT 1) " " AND ((ht.task_type='general' AND (ht.status='pending' OR (ht.status='done' AND ht.qc_status != 'passed'))) " - " OR (ht.task_type='bug_acceptance' AND ht.status='pending'))" + " OR (ht.task_type='bug_acceptance' AND ht.status='pending') " + " OR (ht.task_type IN ('requirement_confirmation','design_confirmation') AND ht.status='pending'))" ") " "ORDER BY t.created_at ASC LIMIT 200", {}) @@ -782,7 +783,8 @@ def load_pipeline_service(): " SELECT i.id FROM sd_iterations i WHERE i.project_id=t.tenant_id " " AND i.status='in_progress' ORDER BY i.seq_no DESC LIMIT 1) " " AND ((ht.task_type='general' AND (ht.status='pending' OR (ht.status='done' AND ht.qc_status != 'passed'))) " - " OR (ht.task_type='bug_acceptance' AND ht.status='pending'))" + " OR (ht.task_type='bug_acceptance' AND ht.status='pending') " + " OR (ht.task_type IN ('requirement_confirmation','design_confirmation') AND ht.status='pending'))" ") " "ORDER BY t.created_at ASC LIMIT 200", {})