diff --git a/app/core/config.py b/app/core/config.py index 96ac58bd..9d04c6af 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -481,6 +481,7 @@ class Settings(BaseSettings, ConfigModel): "refresh": 100, "tmdb": 1024, "douban": 512, + "bangumi": 512, "fanart": 512, "meta": (self.META_CACHE_EXPIRE or 24) * 3600 } @@ -489,6 +490,7 @@ class Settings(BaseSettings, ConfigModel): "refresh": 50, "tmdb": 256, "douban": 256, + "bangumi": 256, "fanart": 128, "meta": (self.META_CACHE_EXPIRE or 2) * 3600 } diff --git a/app/modules/bangumi/bangumi.py b/app/modules/bangumi/bangumi.py index 440017ab..df8c92d0 100644 --- a/app/modules/bangumi/bangumi.py +++ b/app/modules/bangumi/bangumi.py @@ -2,7 +2,9 @@ from datetime import datetime from functools import lru_cache import requests +from cachetools import TTLCache, cached +from app.core.config import settings from app.utils.http import RequestUtils @@ -28,7 +30,7 @@ class BangumiApi(object): pass @classmethod - @lru_cache(maxsize=128) + @cached(cache=TTLCache(maxsize=settings.CACHE_CONF["bangumi"], ttl=settings.CACHE_CONF["meta"])) def __invoke(cls, url, **kwargs): req_url = cls._base_url + url params = {}