增加搜索次数统计和强制休眠机制以优化搜索性能

This commit is contained in:
jxxghp
2025-07-21 12:25:52 +08:00
parent 776f629771
commit 2f1e55fa1e

View File

@@ -1,3 +1,5 @@
import random
import time
from datetime import datetime
from typing import List, Optional, Tuple, Union
@@ -114,6 +116,7 @@ class IndexerModule(_ModuleBase):
# 搜索多个关键字
error_flag = False
search_count = 0
for search_word in keywords:
# 可能为关键字或ttxxxx
if search_word \
@@ -129,6 +132,11 @@ class IndexerModule(_ModuleBase):
logger.warn(msg)
continue
if search_count > 0:
# 强制休眠 1-10 秒
logger.info(f"站点 {site.get('name')} 已搜索 {search_count} 次,强制休眠 1-10 秒 ...")
time.sleep(random.randint(1, 10))
# 去除搜索关键字中的特殊字符
if search_word:
search_word = StringUtils.clear(search_word, replace_word=" ", allow_space=True)
@@ -188,6 +196,8 @@ class IndexerModule(_ModuleBase):
break
except Exception as err:
logger.error(f"{site.get('name')} 搜索出错:{str(err)}")
finally:
search_count += 1
# 索引花费的时间
seconds = (datetime.now() - start_time).seconds
@@ -201,10 +211,10 @@ class IndexerModule(_ModuleBase):
# 返回结果
if not result_array or len(result_array) == 0:
logger.warn(f"{site.get('name')} 未搜索到数据,耗时 {seconds}")
logger.warn(f"{site.get('name')} 未搜索到数据,共搜索 {search_count} 次,耗时 {seconds}")
return []
else:
logger.info(f"{site.get('name')} 搜索完成,耗时 {seconds} 秒,返回数据:{len(result_array)}")
logger.info(f"{site.get('name')} 搜索完成,共搜索 {search_count} 次,耗时 {seconds} 秒,返回数据:{len(result_array)}")
# TorrentInfo
torrents = [TorrentInfo(site=site.get("id"),
site_name=site.get("name"),