feat 加大缓存使用 && 订阅搜索休眠

This commit is contained in:
jxxghp 2023-10-21 08:17:10 +08:00
parent 15b1c756a7
commit cdbe5b2e2f
3 changed files with 11 additions and 3 deletions

View File

@ -16,10 +16,11 @@ from app.helper.torrent import TorrentHelper
from app.log import logger from app.log import logger
from app.schemas import NotExistMediaInfo from app.schemas import NotExistMediaInfo
from app.schemas.types import MediaType, ProgressKey, SystemConfigKey from app.schemas.types import MediaType, ProgressKey, SystemConfigKey
from app.utils.singleton import Singleton
from app.utils.string import StringUtils from app.utils.string import StringUtils
class SearchChain(ChainBase): class SearchChain(ChainBase, metaclass=Singleton):
""" """
站点资源搜索处理链 站点资源搜索处理链
""" """

View File

@ -1,5 +1,7 @@
import json import json
import random
import re import re
import time
from datetime import datetime from datetime import datetime
from typing import Dict, List, Optional, Union, Tuple from typing import Dict, List, Optional, Union, Tuple
@ -162,6 +164,11 @@ class SubscribeChain(ChainBase):
if (now - subscribe_time).total_seconds() < 60: if (now - subscribe_time).total_seconds() < 60:
logger.debug(f"订阅标题:{subscribe.name} 新增小于1分钟暂不搜索...") logger.debug(f"订阅标题:{subscribe.name} 新增小于1分钟暂不搜索...")
continue continue
# 随机休眠1-5分钟
if not sid and state == 'R':
sleep_time = random.randint(60, 300)
logger.info(f'订阅搜索随机休眠 {sleep_time} 秒 ...')
time.sleep(sleep_time)
logger.info(f'开始搜索订阅,标题:{subscribe.name} ...') logger.info(f'开始搜索订阅,标题:{subscribe.name} ...')
# 如果状态为N则更新为R # 如果状态为N则更新为R
if subscribe.state == 'N': if subscribe.state == 'N':

View File

@ -58,7 +58,7 @@ class TorrentsChain(ChainBase, metaclass=Singleton):
else: else:
return self.load_cache(self._rss_file) or {} return self.load_cache(self._rss_file) or {}
@cached(cache=TTLCache(maxsize=128 if settings.BIG_MEMORY_MODE else 1, ttl=600)) @cached(cache=TTLCache(maxsize=128, ttl=600))
def browse(self, domain: str) -> List[TorrentInfo]: def browse(self, domain: str) -> List[TorrentInfo]:
""" """
浏览站点首页内容返回种子清单TTL缓存10分钟 浏览站点首页内容返回种子清单TTL缓存10分钟
@ -71,7 +71,7 @@ class TorrentsChain(ChainBase, metaclass=Singleton):
return [] return []
return self.refresh_torrents(site=site) return self.refresh_torrents(site=site)
@cached(cache=TTLCache(maxsize=128 if settings.BIG_MEMORY_MODE else 1, ttl=300)) @cached(cache=TTLCache(maxsize=128, ttl=300))
def rss(self, domain: str) -> List[TorrentInfo]: def rss(self, domain: str) -> List[TorrentInfo]:
""" """
获取站点RSS内容返回种子清单TTL缓存5分钟 获取站点RSS内容返回种子清单TTL缓存5分钟