fix(dashboard): warm cache after AI pick refresh
All checks were successful
CD Pipeline / deploy (push) Successful in 3m37s
All checks were successful
CD Pipeline / deploy (push) Successful in 3m37s
This commit is contained in:
@@ -1625,6 +1625,7 @@ def api_generate_product_picks():
|
||||
from sqlalchemy import create_engine
|
||||
from services.ai_product_pick_agent import generate_product_pick_list
|
||||
from services.cache_manager import clear_dashboard_cache
|
||||
from routes.dashboard_routes import get_full_dashboard_data
|
||||
|
||||
payload = request.get_json(silent=True) or {}
|
||||
limit = int(payload.get('limit', 50))
|
||||
@@ -1633,6 +1634,11 @@ def api_generate_product_picks():
|
||||
engine = create_engine(DATABASE_PATH)
|
||||
result = generate_product_pick_list(engine, limit=limit)
|
||||
clear_dashboard_cache()
|
||||
dashboard_cache_warmed = False
|
||||
try:
|
||||
dashboard_cache_warmed = bool(get_full_dashboard_data())
|
||||
except Exception as warm_err:
|
||||
logger.warning(f"[ProductPickAgent] 商品看板快取預熱失敗: {warm_err}")
|
||||
|
||||
return jsonify({
|
||||
'success': True,
|
||||
@@ -1641,6 +1647,7 @@ def api_generate_product_picks():
|
||||
'candidates': result.candidates,
|
||||
'written': result.written,
|
||||
'generated_at': result.generated_at,
|
||||
'dashboard_cache_warmed': dashboard_cache_warmed,
|
||||
'picks': result.picks[:50],
|
||||
}
|
||||
})
|
||||
@@ -1668,6 +1675,8 @@ def api_pchome_match_backfill():
|
||||
engine = create_engine(DATABASE_PATH)
|
||||
result = CompetitorPriceFeeder(engine=engine).run_unmatched_priority(limit=limit)
|
||||
pick_result = generate_product_pick_list(engine, limit=50)
|
||||
from services.cache_manager import clear_dashboard_cache
|
||||
clear_dashboard_cache()
|
||||
logger.info(
|
||||
"[PChomeBackfill] done total=%s matched=%s no=%s low=%s errors=%s history=%s duration=%ss pick_written=%s",
|
||||
result.total_skus,
|
||||
|
||||
Reference in New Issue
Block a user