mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-09 09:26:55 +08:00
fix:定时任务初始化加锁
This commit is contained in:
+13
-8
@@ -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("正在停止定时任务...")
|
||||||
|
|||||||
Reference in New Issue
Block a user