feat 加大缓存使用 && 订阅搜索休眠
This commit is contained in:
parent
15b1c756a7
commit
cdbe5b2e2f
@ -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):
|
||||||
"""
|
"""
|
||||||
站点资源搜索处理链
|
站点资源搜索处理链
|
||||||
"""
|
"""
|
||||||
|
@ -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':
|
||||||
|
@ -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分钟
|
||||||
|
Loading…
x
Reference in New Issue
Block a user