mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 07:27:15 +08:00
fix 优雅停止
This commit is contained in:
@@ -360,6 +360,8 @@ class SubscribeChain(ChainBase):
|
|||||||
# 过滤搜索结果
|
# 过滤搜索结果
|
||||||
matched_contexts = []
|
matched_contexts = []
|
||||||
for context in contexts:
|
for context in contexts:
|
||||||
|
if global_vars.is_system_stopped:
|
||||||
|
break
|
||||||
torrent_meta = context.meta_info
|
torrent_meta = context.meta_info
|
||||||
torrent_info = context.torrent_info
|
torrent_info = context.torrent_info
|
||||||
torrent_mediainfo = context.media_info
|
torrent_mediainfo = context.media_info
|
||||||
@@ -554,8 +556,12 @@ class SubscribeChain(ChainBase):
|
|||||||
# 预识别所有未识别的种子
|
# 预识别所有未识别的种子
|
||||||
processed_torrents: Dict[str, List[Context]] = {}
|
processed_torrents: Dict[str, List[Context]] = {}
|
||||||
for domain, contexts in torrents.items():
|
for domain, contexts in torrents.items():
|
||||||
|
if global_vars.is_system_stopped:
|
||||||
|
break
|
||||||
processed_torrents[domain] = []
|
processed_torrents[domain] = []
|
||||||
for context in contexts:
|
for context in contexts:
|
||||||
|
if global_vars.is_system_stopped:
|
||||||
|
break
|
||||||
# 如果种子未识别,尝试识别
|
# 如果种子未识别,尝试识别
|
||||||
if not context.media_info or (not context.media_info.tmdb_id
|
if not context.media_info or (not context.media_info.tmdb_id
|
||||||
and not context.media_info.douban_id):
|
and not context.media_info.douban_id):
|
||||||
@@ -626,6 +632,8 @@ class SubscribeChain(ChainBase):
|
|||||||
continue
|
continue
|
||||||
logger.debug(f'开始匹配站点:{domain},共缓存了 {len(contexts)} 个种子...')
|
logger.debug(f'开始匹配站点:{domain},共缓存了 {len(contexts)} 个种子...')
|
||||||
for context in contexts:
|
for context in contexts:
|
||||||
|
if global_vars.is_system_stopped:
|
||||||
|
break
|
||||||
# 提取信息
|
# 提取信息
|
||||||
_context = copy.copy(context)
|
_context = copy.copy(context)
|
||||||
torrent_meta = _context.meta_info
|
torrent_meta = _context.meta_info
|
||||||
@@ -867,6 +875,8 @@ class SubscribeChain(ChainBase):
|
|||||||
success_count = 0
|
success_count = 0
|
||||||
subscribeoper = SubscribeOper()
|
subscribeoper = SubscribeOper()
|
||||||
for share_sub in share_subs:
|
for share_sub in share_subs:
|
||||||
|
if global_vars.is_system_stopped:
|
||||||
|
break
|
||||||
uid = share_sub.get("share_uid")
|
uid = share_sub.get("share_uid")
|
||||||
if uid and uid in follow_users:
|
if uid and uid in follow_users:
|
||||||
# 订阅已存在则跳过
|
# 订阅已存在则跳过
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ from contextlib import asynccontextmanager
|
|||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
|
|
||||||
from app.chain.system import SystemChain
|
from app.chain.system import SystemChain
|
||||||
from app.core.config import global_vars
|
|
||||||
from app.startup.command_initializer import init_command, stop_command, restart_command
|
from app.startup.command_initializer import init_command, stop_command, restart_command
|
||||||
from app.startup.memory_initializer import init_memory_manager, stop_memory_manager
|
from app.startup.memory_initializer import init_memory_manager, stop_memory_manager
|
||||||
from app.startup.modules_initializer import init_modules, stop_modules
|
from app.startup.modules_initializer import init_modules, stop_modules
|
||||||
@@ -62,8 +61,6 @@ async def lifespan(app: FastAPI):
|
|||||||
yield
|
yield
|
||||||
finally:
|
finally:
|
||||||
print("Shutting down...")
|
print("Shutting down...")
|
||||||
# 停止信号
|
|
||||||
global_vars.stop_system()
|
|
||||||
# 取消同步插件任务
|
# 取消同步插件任务
|
||||||
try:
|
try:
|
||||||
sync_plugins_task.cancel()
|
sync_plugins_task.cancel()
|
||||||
|
|||||||
Reference in New Issue
Block a user