From d0677edaaada99853f1f41160f740df0fc4fcad5 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Mon, 9 Jun 2025 15:39:11 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BC=98=E9=9B=85=E5=81=9C=E6=AD=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/chain/subscribe.py | 10 ++++++++++ app/startup/lifecycle.py | 3 --- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/chain/subscribe.py b/app/chain/subscribe.py index e0c8eccb..c337aecb 100644 --- a/app/chain/subscribe.py +++ b/app/chain/subscribe.py @@ -360,6 +360,8 @@ class SubscribeChain(ChainBase): # 过滤搜索结果 matched_contexts = [] for context in contexts: + if global_vars.is_system_stopped: + break torrent_meta = context.meta_info torrent_info = context.torrent_info torrent_mediainfo = context.media_info @@ -554,8 +556,12 @@ class SubscribeChain(ChainBase): # 预识别所有未识别的种子 processed_torrents: Dict[str, List[Context]] = {} for domain, contexts in torrents.items(): + if global_vars.is_system_stopped: + break processed_torrents[domain] = [] for context in contexts: + if global_vars.is_system_stopped: + break # 如果种子未识别,尝试识别 if not context.media_info or (not context.media_info.tmdb_id and not context.media_info.douban_id): @@ -626,6 +632,8 @@ class SubscribeChain(ChainBase): continue logger.debug(f'开始匹配站点:{domain},共缓存了 {len(contexts)} 个种子...') for context in contexts: + if global_vars.is_system_stopped: + break # 提取信息 _context = copy.copy(context) torrent_meta = _context.meta_info @@ -867,6 +875,8 @@ class SubscribeChain(ChainBase): success_count = 0 subscribeoper = SubscribeOper() for share_sub in share_subs: + if global_vars.is_system_stopped: + break uid = share_sub.get("share_uid") if uid and uid in follow_users: # 订阅已存在则跳过 diff --git a/app/startup/lifecycle.py b/app/startup/lifecycle.py index 8d426355..50c96310 100644 --- a/app/startup/lifecycle.py +++ b/app/startup/lifecycle.py @@ -4,7 +4,6 @@ from contextlib import asynccontextmanager from fastapi import FastAPI 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.memory_initializer import init_memory_manager, stop_memory_manager from app.startup.modules_initializer import init_modules, stop_modules @@ -62,8 +61,6 @@ async def lifespan(app: FastAPI): yield finally: print("Shutting down...") - # 停止信号 - global_vars.stop_system() # 取消同步插件任务 try: sync_plugins_task.cancel()