mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 07:27:15 +08:00
rollback
This commit is contained in:
@@ -11,7 +11,6 @@ from app.core.config import settings
|
|||||||
from app.core.context import MediaInfo, Context
|
from app.core.context import MediaInfo, Context
|
||||||
from app.core.meta import MetaBase
|
from app.core.meta import MetaBase
|
||||||
from app.db.user_oper import UserOper
|
from app.db.user_oper import UserOper
|
||||||
from app.helper.memory import memory_optimized
|
|
||||||
from app.helper.torrent import TorrentHelper
|
from app.helper.torrent import TorrentHelper
|
||||||
from app.log import logger
|
from app.log import logger
|
||||||
from app.schemas import Notification, NotExistMediaInfo, CommingMessage
|
from app.schemas import Notification, NotExistMediaInfo, CommingMessage
|
||||||
@@ -118,7 +117,6 @@ class MessageChain(ChainBase):
|
|||||||
# 处理消息
|
# 处理消息
|
||||||
self.handle_message(channel=channel, source=source, userid=userid, username=username, text=text)
|
self.handle_message(channel=channel, source=source, userid=userid, username=username, text=text)
|
||||||
|
|
||||||
@memory_optimized(force_gc_after=True, log_memory=True)
|
|
||||||
def handle_message(self, channel: MessageChannel, source: str,
|
def handle_message(self, channel: MessageChannel, source: str,
|
||||||
userid: Union[str, int], username: str, text: str) -> None:
|
userid: Union[str, int], username: str, text: str) -> None:
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ from app.core.context import MediaInfo, TorrentInfo
|
|||||||
from app.core.event import eventmanager, Event
|
from app.core.event import eventmanager, Event
|
||||||
from app.core.metainfo import MetaInfo
|
from app.core.metainfo import MetaInfo
|
||||||
from app.db.systemconfig_oper import SystemConfigOper
|
from app.db.systemconfig_oper import SystemConfigOper
|
||||||
from app.helper.memory import memory_optimized
|
|
||||||
from app.helper.progress import ProgressHelper
|
from app.helper.progress import ProgressHelper
|
||||||
from app.helper.sites import SitesHelper
|
from app.helper.sites import SitesHelper
|
||||||
from app.helper.torrent import TorrentHelper
|
from app.helper.torrent import TorrentHelper
|
||||||
@@ -98,7 +97,6 @@ class SearchChain(ChainBase):
|
|||||||
logger.error(f'加载搜索结果失败:{str(e)} - {traceback.format_exc()}')
|
logger.error(f'加载搜索结果失败:{str(e)} - {traceback.format_exc()}')
|
||||||
return []
|
return []
|
||||||
|
|
||||||
@memory_optimized(force_gc_after=True, log_memory=True)
|
|
||||||
def process(self, mediainfo: MediaInfo,
|
def process(self, mediainfo: MediaInfo,
|
||||||
keyword: Optional[str] = None,
|
keyword: Optional[str] = None,
|
||||||
no_exists: Dict[int, Dict[int, NotExistMediaInfo]] = None,
|
no_exists: Dict[int, Dict[int, NotExistMediaInfo]] = None,
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ from app.db.models.subscribe import Subscribe
|
|||||||
from app.db.site_oper import SiteOper
|
from app.db.site_oper import SiteOper
|
||||||
from app.db.subscribe_oper import SubscribeOper
|
from app.db.subscribe_oper import SubscribeOper
|
||||||
from app.db.systemconfig_oper import SystemConfigOper
|
from app.db.systemconfig_oper import SystemConfigOper
|
||||||
from app.helper.memory import memory_optimized
|
|
||||||
from app.helper.subscribe import SubscribeHelper
|
from app.helper.subscribe import SubscribeHelper
|
||||||
from app.helper.torrent import TorrentHelper
|
from app.helper.torrent import TorrentHelper
|
||||||
from app.log import logger
|
from app.log import logger
|
||||||
@@ -268,7 +267,6 @@ class SubscribeChain(ChainBase):
|
|||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@memory_optimized(force_gc_after=True, log_memory=True)
|
|
||||||
def search(self, sid: Optional[int] = None, state: Optional[str] = 'N', manual: Optional[bool] = False):
|
def search(self, sid: Optional[int] = None, state: Optional[str] = 'N', manual: Optional[bool] = False):
|
||||||
"""
|
"""
|
||||||
订阅搜索
|
订阅搜索
|
||||||
@@ -540,7 +538,6 @@ class SubscribeChain(ChainBase):
|
|||||||
|
|
||||||
return ret_sites
|
return ret_sites
|
||||||
|
|
||||||
@memory_optimized(force_gc_after=True, log_memory=True)
|
|
||||||
def match(self, torrents: Dict[str, List[Context]]):
|
def match(self, torrents: Dict[str, List[Context]]):
|
||||||
"""
|
"""
|
||||||
从缓存中匹配订阅,并自动下载
|
从缓存中匹配订阅,并自动下载
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ from app.core.context import TorrentInfo, Context, MediaInfo
|
|||||||
from app.core.metainfo import MetaInfo
|
from app.core.metainfo import MetaInfo
|
||||||
from app.db.site_oper import SiteOper
|
from app.db.site_oper import SiteOper
|
||||||
from app.db.systemconfig_oper import SystemConfigOper
|
from app.db.systemconfig_oper import SystemConfigOper
|
||||||
from app.helper.memory import memory_optimized
|
|
||||||
from app.helper.rss import RssHelper
|
from app.helper.rss import RssHelper
|
||||||
from app.helper.sites import SitesHelper
|
from app.helper.sites import SitesHelper
|
||||||
from app.helper.torrent import TorrentHelper
|
from app.helper.torrent import TorrentHelper
|
||||||
@@ -70,7 +69,6 @@ class TorrentsChain(ChainBase):
|
|||||||
self.remove_cache(self._rss_file)
|
self.remove_cache(self._rss_file)
|
||||||
logger.info(f'种子缓存数据清理完成')
|
logger.info(f'种子缓存数据清理完成')
|
||||||
|
|
||||||
@memory_optimized(force_gc_after=True, log_memory=True)
|
|
||||||
def browse(self, domain: str, keyword: Optional[str] = None, cat: Optional[str] = None,
|
def browse(self, domain: str, keyword: Optional[str] = None, cat: Optional[str] = None,
|
||||||
page: Optional[int] = 0) -> List[TorrentInfo]:
|
page: Optional[int] = 0) -> List[TorrentInfo]:
|
||||||
"""
|
"""
|
||||||
@@ -87,7 +85,6 @@ class TorrentsChain(ChainBase):
|
|||||||
return []
|
return []
|
||||||
return self.refresh_torrents(site=site, keyword=keyword, cat=cat, page=page)
|
return self.refresh_torrents(site=site, keyword=keyword, cat=cat, page=page)
|
||||||
|
|
||||||
@memory_optimized(force_gc_after=True, log_memory=True)
|
|
||||||
def rss(self, domain: str) -> List[TorrentInfo]:
|
def rss(self, domain: str) -> List[TorrentInfo]:
|
||||||
"""
|
"""
|
||||||
获取站点RSS内容,返回种子清单,TTL缓存3分钟
|
获取站点RSS内容,返回种子清单,TTL缓存3分钟
|
||||||
@@ -133,7 +130,6 @@ class TorrentsChain(ChainBase):
|
|||||||
|
|
||||||
return ret_torrents
|
return ret_torrents
|
||||||
|
|
||||||
@memory_optimized(force_gc_after=True, log_memory=True)
|
|
||||||
def refresh(self, stype: Optional[str] = None, sites: List[int] = None) -> Dict[str, List[Context]]:
|
def refresh(self, stype: Optional[str] = None, sites: List[int] = None) -> Dict[str, List[Context]]:
|
||||||
"""
|
"""
|
||||||
刷新站点最新资源,识别并缓存起来
|
刷新站点最新资源,识别并缓存起来
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ from app.db.systemconfig_oper import SystemConfigOper
|
|||||||
from app.db.transferhistory_oper import TransferHistoryOper
|
from app.db.transferhistory_oper import TransferHistoryOper
|
||||||
from app.helper.directory import DirectoryHelper
|
from app.helper.directory import DirectoryHelper
|
||||||
from app.helper.format import FormatParser
|
from app.helper.format import FormatParser
|
||||||
from app.helper.memory import memory_optimized
|
|
||||||
from app.helper.progress import ProgressHelper
|
from app.helper.progress import ProgressHelper
|
||||||
from app.log import logger
|
from app.log import logger
|
||||||
from app.schemas import TransferInfo, TransferTorrent, Notification, EpisodeFormat, FileItem, TransferDirectoryConf, \
|
from app.schemas import TransferInfo, TransferTorrent, Notification, EpisodeFormat, FileItem, TransferDirectoryConf, \
|
||||||
@@ -938,7 +937,6 @@ class TransferChain(ChainBase, metaclass=Singleton):
|
|||||||
|
|
||||||
return trans_items
|
return trans_items
|
||||||
|
|
||||||
@memory_optimized(force_gc_after=True, log_memory=True)
|
|
||||||
def do_transfer(self, fileitem: FileItem,
|
def do_transfer(self, fileitem: FileItem,
|
||||||
meta: MetaBase = None, mediainfo: MediaInfo = None,
|
meta: MetaBase = None, mediainfo: MediaInfo = None,
|
||||||
target_directory: TransferDirectoryConf = None,
|
target_directory: TransferDirectoryConf = None,
|
||||||
|
|||||||
+4
-10
@@ -247,10 +247,6 @@ class ConfigModel(BaseModel):
|
|||||||
REPO_GITHUB_TOKEN: Optional[str] = None
|
REPO_GITHUB_TOKEN: Optional[str] = None
|
||||||
# 大内存模式
|
# 大内存模式
|
||||||
BIG_MEMORY_MODE: bool = False
|
BIG_MEMORY_MODE: bool = False
|
||||||
# 内存使用监控
|
|
||||||
MEMORY_MONITOR_ENABLE: bool = False
|
|
||||||
# 启用详细内存分析
|
|
||||||
MEMORY_DETAILED_ANALYSIS: bool = False
|
|
||||||
# 全局图片缓存,将媒体图片缓存到本地
|
# 全局图片缓存,将媒体图片缓存到本地
|
||||||
GLOBAL_IMAGE_CACHE: bool = False
|
GLOBAL_IMAGE_CACHE: bool = False
|
||||||
# 是否启用编码探测的性能模式
|
# 是否启用编码探测的性能模式
|
||||||
@@ -545,9 +541,8 @@ class Settings(BaseSettings, ConfigModel, LogConfigModel):
|
|||||||
"bangumi": 512,
|
"bangumi": 512,
|
||||||
"fanart": 512,
|
"fanart": 512,
|
||||||
"meta": (self.META_CACHE_EXPIRE or 24) * 3600,
|
"meta": (self.META_CACHE_EXPIRE or 24) * 3600,
|
||||||
"memory": 1 * 1024,
|
"scheduler": 100,
|
||||||
"scheduler": 50,
|
"threadpool": 100
|
||||||
"threadpool": 50
|
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
"torrents": 100,
|
"torrents": 100,
|
||||||
@@ -557,9 +552,8 @@ class Settings(BaseSettings, ConfigModel, LogConfigModel):
|
|||||||
"bangumi": 256,
|
"bangumi": 256,
|
||||||
"fanart": 128,
|
"fanart": 128,
|
||||||
"meta": (self.META_CACHE_EXPIRE or 2) * 3600,
|
"meta": (self.META_CACHE_EXPIRE or 2) * 3600,
|
||||||
"memory": 512,
|
"scheduler": 50,
|
||||||
"scheduler": 20,
|
"threadpool": 50
|
||||||
"threadpool": 20
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -6,7 +6,6 @@ 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.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.modules_initializer import init_modules, stop_modules
|
from app.startup.modules_initializer import init_modules, stop_modules
|
||||||
from app.startup.monitor_initializer import stop_monitor, init_monitor
|
from app.startup.monitor_initializer import stop_monitor, init_monitor
|
||||||
from app.startup.plugins_initializer import init_plugins, stop_plugins, sync_plugins
|
from app.startup.plugins_initializer import init_plugins, stop_plugins, sync_plugins
|
||||||
@@ -48,8 +47,6 @@ async def lifespan(app: FastAPI):
|
|||||||
init_command()
|
init_command()
|
||||||
# 初始化工作流
|
# 初始化工作流
|
||||||
init_workflow()
|
init_workflow()
|
||||||
# 初始化内存管理
|
|
||||||
init_memory_manager()
|
|
||||||
# 插件同步到本地
|
# 插件同步到本地
|
||||||
sync_plugins_task = asyncio.create_task(init_plugin_system())
|
sync_plugins_task = asyncio.create_task(init_plugin_system())
|
||||||
try:
|
try:
|
||||||
@@ -67,8 +64,6 @@ async def lifespan(app: FastAPI):
|
|||||||
pass
|
pass
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(str(e))
|
print(str(e))
|
||||||
# 停止内存管理器
|
|
||||||
stop_memory_manager()
|
|
||||||
# 停止工作流
|
# 停止工作流
|
||||||
stop_workflow()
|
stop_workflow()
|
||||||
# 停止命令
|
# 停止命令
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
from app.helper.memory import MemoryHelper
|
|
||||||
|
|
||||||
|
|
||||||
def init_memory_manager():
|
|
||||||
"""
|
|
||||||
初始化内存监控器
|
|
||||||
"""
|
|
||||||
memory_manager = MemoryHelper()
|
|
||||||
# 设置内存阈值和启动监控
|
|
||||||
memory_manager.start_monitoring()
|
|
||||||
|
|
||||||
|
|
||||||
def stop_memory_manager():
|
|
||||||
"""
|
|
||||||
停止内存监控器
|
|
||||||
"""
|
|
||||||
MemoryHelper().stop_monitoring()
|
|
||||||
Reference in New Issue
Block a user