1
This commit is contained in:
parent
26624b00d0
commit
1eaf608ece
@ -325,11 +325,6 @@ async def data_reset(req: DataResetRequest, admin: dict = Depends(get_current_ad
|
||||
|
||||
await db.commit()
|
||||
|
||||
# 清除内存缓存
|
||||
from app.engine.recommender import _latest_result
|
||||
import app.engine.recommender as recommender_mod
|
||||
recommender_mod._latest_result = None
|
||||
|
||||
logger.info(f"管理员 {admin['username']} 执行数据重置: mode={req.mode}, deleted={deleted}")
|
||||
|
||||
return {
|
||||
|
||||
Binary file not shown.
@ -15,9 +15,6 @@ from app.db import tables
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
# 内存中的最新推荐结果
|
||||
_latest_result: dict | None = None
|
||||
|
||||
# 扫描锁:防止同时触发两次扫描
|
||||
_scan_lock = asyncio.Lock()
|
||||
_scan_running = False
|
||||
@ -25,11 +22,11 @@ _scan_running = False
|
||||
|
||||
async def refresh_recommendations(trade_date: str = None, scan_session: str = "manual") -> dict:
|
||||
"""刷新推荐列表(带扫描锁防止并发)"""
|
||||
global _latest_result, _scan_running
|
||||
global _scan_running
|
||||
|
||||
if _scan_lock.locked():
|
||||
logger.warning("扫描已在执行中,跳过本次触发")
|
||||
return _latest_result or {"market_temp": None, "hot_sectors": [], "recommendations": []}
|
||||
return await _load_today_from_db()
|
||||
|
||||
async with _scan_lock:
|
||||
_scan_running = True
|
||||
@ -41,8 +38,6 @@ async def refresh_recommendations(trade_date: str = None, scan_session: str = "m
|
||||
rec.scan_session = scan_session
|
||||
rec.created_at = datetime.now()
|
||||
|
||||
_latest_result = result
|
||||
|
||||
# 持久化到数据库
|
||||
await _save_to_db(result)
|
||||
|
||||
@ -260,18 +255,12 @@ async def get_performance_stats() -> dict:
|
||||
|
||||
|
||||
async def get_latest_recommendations() -> dict:
|
||||
"""获取最新推荐结果"""
|
||||
if _latest_result:
|
||||
return _latest_result
|
||||
# 如果内存中没有,从数据库加载今日的
|
||||
"""获取最新推荐结果(直接从数据库读取,不做内存缓存)"""
|
||||
return await _load_today_from_db()
|
||||
|
||||
|
||||
async def get_latest_sectors() -> list[SectorInfo]:
|
||||
"""获取最新的板块热度数据(只读缓存,不触发扫描)"""
|
||||
if _latest_result and _latest_result.get("hot_sectors"):
|
||||
return _latest_result["hot_sectors"]
|
||||
# 内存中没有,从数据库加载
|
||||
"""获取最新的板块热度数据(从数据库读取,不触发扫描)"""
|
||||
return await _load_sectors_from_db()
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user