fix 优雅停止

This commit is contained in:
jxxghp
2025-06-09 15:39:11 +08:00
parent f0aaecd0c7
commit d0677edaaa
2 changed files with 10 additions and 3 deletions

View File

@@ -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:
# 订阅已存在则跳过

View File

@@ -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()