diff --git a/app/chain/search.py b/app/chain/search.py index 583ac99d..b9a03b2e 100644 --- a/app/chain/search.py +++ b/app/chain/search.py @@ -36,6 +36,11 @@ class SearchChain(ChainBase): for indexer in self.siteshelper.get_indexers(): if not settings.INDEXER_SITES \ or any([s in indexer.get("domain") for s in settings.INDEXER_SITES.split(',')]): + # 站点流控 + state, msg = self.siteshelper.check(indexer.get("domain")) + if not state: + logger.warn(msg) + continue indexer_sites.append(indexer) if not indexer_sites: logger.warn('未开启任何有效站点,无法搜索资源') diff --git a/app/db/models/site.py b/app/db/models/site.py index 156f15e1..eb3d2c72 100644 --- a/app/db/models/site.py +++ b/app/db/models/site.py @@ -22,9 +22,9 @@ class Site(Base): filter = Column(String) render = Column(Integer) note = Column(String) - limit_interval = Column(Integer) - limit_count = Column(Integer) - limit_seconds = Column(Integer) + limit_interval = Column(Integer, default=0) + limit_count = Column(Integer, default=0) + limit_seconds = Column(Integer, default=0) is_active = Column(Boolean(), default=True) lst_mod_date = Column(String, default=datetime.now().strftime("%Y-%m-%d %H:%M:%S")) diff --git a/app/helper/sites.cp310-win_amd64.pyd b/app/helper/sites.cp310-win_amd64.pyd index 44cefd8a..7eac4a07 100644 Binary files a/app/helper/sites.cp310-win_amd64.pyd and b/app/helper/sites.cp310-win_amd64.pyd differ diff --git a/app/helper/sites.cpython-310-darwin.so b/app/helper/sites.cpython-310-darwin.so index 933bf4bc..8c5222a6 100755 Binary files a/app/helper/sites.cpython-310-darwin.so and b/app/helper/sites.cpython-310-darwin.so differ diff --git a/app/helper/sites.cpython-310-x86_64-linux-gnu.so b/app/helper/sites.cpython-310-x86_64-linux-gnu.so index 0a6c53ff..717aaf16 100644 Binary files a/app/helper/sites.cpython-310-x86_64-linux-gnu.so and b/app/helper/sites.cpython-310-x86_64-linux-gnu.so differ