fix:定时任务初始化加锁

This commit is contained in:
jxxghp
2025-03-07 08:07:57 +08:00
parent a835d34a01
commit e1f82e338a
+13 -8
View File
@@ -30,6 +30,9 @@ from app.utils.singleton import Singleton
from app.utils.timer import TimerUtils from app.utils.timer import TimerUtils
lock = threading.Lock()
class SchedulerChain(ChainBase): class SchedulerChain(ChainBase):
pass pass
@@ -56,6 +59,15 @@ class Scheduler(metaclass=Singleton):
""" """
初始化定时服务 初始化定时服务
""" """
# 停止定时服务
self.stop()
# 调试模式不启动定时服务
if settings.DEV:
return
with lock:
# 各服务的运行状态 # 各服务的运行状态
self._jobs = { self._jobs = {
"cookiecloud": { "cookiecloud": {
@@ -136,13 +148,6 @@ class Scheduler(metaclass=Singleton):
} }
} }
# 停止定时服务
self.stop()
# 调试模式不启动定时服务
if settings.DEV:
return
# 创建定时服务 # 创建定时服务
self._scheduler = BackgroundScheduler(timezone=settings.TZ, self._scheduler = BackgroundScheduler(timezone=settings.TZ,
executors={ executors={
@@ -496,7 +501,6 @@ class Scheduler(metaclass=Singleton):
""" """
if not self._scheduler: if not self._scheduler:
return return
# 移除该工作流的全部服务 # 移除该工作流的全部服务
self.remove_workflow_job(workflow) self.remove_workflow_job(workflow)
# 添加工作流服务 # 添加工作流服务
@@ -625,6 +629,7 @@ class Scheduler(metaclass=Singleton):
""" """
关闭定时服务 关闭定时服务
""" """
with lock:
try: try:
if self._scheduler: if self._scheduler:
logger.info("正在停止定时任务...") logger.info("正在停止定时任务...")