From e6916946a94b282592ee2b3efae5d09585536462 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Fri, 1 Aug 2025 07:10:02 +0800 Subject: [PATCH] fix log && run_in_threadpool --- app/chain/search.py | 22 ++++++++++++---------- app/log.py | 8 ++++++++ 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/app/chain/search.py b/app/chain/search.py index 416d46cd..76802f8c 100644 --- a/app/chain/search.py +++ b/app/chain/search.py @@ -6,6 +6,9 @@ from datetime import datetime from typing import Dict, Tuple from typing import List, Optional +from app.helper.sites import SitesHelper # noqa +from fastapi.concurrency import run_in_threadpool + from app.chain import ChainBase from app.core.config import global_vars from app.core.context import Context @@ -14,7 +17,6 @@ from app.core.event import eventmanager, Event from app.core.metainfo import MetaInfo from app.db.systemconfig_oper import SystemConfigOper from app.helper.progress import ProgressHelper -from app.helper.sites import SitesHelper # noqa from app.helper.torrent import TorrentHelper from app.log import logger from app.schemas import NotExistMediaInfo @@ -444,15 +446,15 @@ class SearchChain(ChainBase): area=area ) # 处理结果 - return self.__parse_result( - torrents=torrents, - mediainfo=mediainfo, - keyword=keyword, - rule_groups=rule_groups, - season_episodes=season_episodes, - custom_words=custom_words, - filter_params=filter_params - ) + return await run_in_threadpool(self.__parse_result, + torrents=torrents, + mediainfo=mediainfo, + keyword=keyword, + rule_groups=rule_groups, + season_episodes=season_episodes, + custom_words=custom_words, + filter_params=filter_params + ) def __search_all_sites(self, keywords: List[str], mediainfo: Optional[MediaInfo] = None, diff --git a/app/log.py b/app/log.py index 9f9d9e83..7ada12a3 100644 --- a/app/log.py +++ b/app/log.py @@ -419,6 +419,14 @@ class LoggerManager: :param method: 日志方法 :param msg: 日志信息 """ + # 获取当前日志级别 + current_level = self.__get_log_level() + method_level = getattr(logging, method.upper(), logging.INFO) + + # 如果当前方法的级别低于设定的日志级别,则不处理 + if method_level < current_level: + return + # 获取调用者文件名和插件名 caller_name, plugin_name = self.__get_caller()