From 8565f649712df0fff04e499db82109edacdd5710 Mon Sep 17 00:00:00 2001 From: Pol Bachelin <40643503+polBachelin@users.noreply.github.com> Date: Sat, 2 Mar 2024 14:35:00 +0100 Subject: [PATCH] fix: scheduler shutdown (#1237) --- dbgpt/app/initialization/scheduler.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dbgpt/app/initialization/scheduler.py b/dbgpt/app/initialization/scheduler.py index 33dd220eb..70b7bb71a 100644 --- a/dbgpt/app/initialization/scheduler.py +++ b/dbgpt/app/initialization/scheduler.py @@ -24,6 +24,7 @@ class DefaultScheduler(BaseComponent): self.system_app = system_app self._scheduler_interval_ms = scheduler_interval_ms self._scheduler_delay_ms = scheduler_delay_ms + self._stop_event = threading.Event() def init_app(self, system_app: SystemApp): self.system_app = system_app @@ -31,10 +32,14 @@ class DefaultScheduler(BaseComponent): def after_start(self): thread = threading.Thread(target=self._scheduler) thread.start() + self._stop_event.clear() + + def before_stop(self): + self._stop_event.set() def _scheduler(self): time.sleep(self._scheduler_delay_ms / 1000) - while True: + while not self._stop_event.is_set(): try: schedule.run_pending() except Exception as e: