From 2e5ef3eba3379dfecf624bf31f9ec75a65126d40 Mon Sep 17 00:00:00 2001 From: SXP-Simon Date: Thu, 12 Mar 2026 18:43:47 +0800 Subject: [PATCH] =?UTF-8?q?fix(terminate):=20=E8=A7=A3=E5=86=B3=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E5=8D=B8=E8=BD=BD/=E9=87=8D=E8=BD=BD=E6=97=B6?= =?UTF-8?q?=E5=9B=A0=20schedule=5Fjobs(None)=20=E8=B0=83=E7=94=A8=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E7=9A=84=20NoneType=20=E6=8A=A5=E9=94=99=EF=BC=8C?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E8=B5=84=E6=BA=90=E6=B8=85=E7=90=86=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 2 +- src/infrastructure/scheduler/auto_scheduler.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index 2e93d7f..06cf744 100644 --- a/main.py +++ b/main.py @@ -241,7 +241,7 @@ class GroupDailyAnalysis(Star): # 2. 停止各个组件 if self.auto_scheduler: logger.info("正在停止自动调度器...") - self.auto_scheduler.schedule_jobs(None) # type: ignore + self.auto_scheduler.unschedule_jobs(self.context) if self.retry_manager: await self.retry_manager.stop() diff --git a/src/infrastructure/scheduler/auto_scheduler.py b/src/infrastructure/scheduler/auto_scheduler.py index e46f14d..83d7197 100644 --- a/src/infrastructure/scheduler/auto_scheduler.py +++ b/src/infrastructure/scheduler/auto_scheduler.py @@ -269,7 +269,13 @@ class AutoScheduler: def unschedule_jobs(self, context): """取消定时任务""" + if not context or not hasattr(context, "cron_manager") or not context.cron_manager: + return + scheduler = context.cron_manager.scheduler + if not scheduler: + return + for job_id in self.scheduler_job_ids: try: if scheduler.get_job(job_id):