From 25d6855b38608cef7422be919285b9bbc47d8ba3 Mon Sep 17 00:00:00 2001 From: huang <1724659546@qq.com> Date: Tue, 23 Sep 2025 21:26:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=A9=BA=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E4=B8=8D=E4=BC=9A=E5=8F=8D=E5=A4=8D=E6=89=A7=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/app/service/task/scheduler.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/internal/app/service/task/scheduler.go b/internal/app/service/task/scheduler.go index 6e93590..fc9506e 100644 --- a/internal/app/service/task/scheduler.go +++ b/internal/app/service/task/scheduler.go @@ -437,7 +437,12 @@ func (s *Scheduler) handlePlanCompletion(planLogID uint) { } // 6. 调用共享的 Manager 来处理触发器更新逻辑 - if err := s.analysisPlanTaskManager.CreateOrUpdateTrigger(topLevelPlanID); err != nil { - s.logger.Errorf("为计划 %d 创建/更新触发器失败: %v", topLevelPlanID, err) + // 只有当计划在本次执行后仍然是 Enabled 状态时,才需要创建下一次的触发器。 + if newStatus == models.PlanStatusEnabled { + if err := s.analysisPlanTaskManager.CreateOrUpdateTrigger(topLevelPlanID); err != nil { + s.logger.Errorf("为计划 %d 创建/更新触发器失败: %v", topLevelPlanID, err) + } else { + s.logger.Infof("计划 %d 状态为 '%d',无需创建下一次触发器。", topLevelPlanID, newStatus) + } } }