1.2 KiB
1.2 KiB
2026-07-08 计划预测缓存优化
1. 计划预测强制刷新卡时间
旭东 → OpenClaw:
计划预测强制刷新卡时间这个能解决吗
OpenClaw 响应: 确认了问题是计划预测页面每次刷新(F5)都要等2-3秒。定位到两个根因:(1) Gunicorn开了4个worker,每个worker有独立进程内存缓存,请求打到不同worker就重新计算;(2) 加工厂库存、云仓库存、外仓库存、在途库存4个函数完全没做缓存,每次请求都查数据库。
旭东 → OpenClaw:
方案A
OpenClaw 响应: 实施了方案A(文件共享缓存),具体改动:
services/cache.py:RefreshableCache改成内存+文件双缓存,所有 Gunicorn worker 共享同一份文件缓存(tmp_cache/),写入使用原子操作(临时文件 + os.replace)services/inventory_calc.py:补齐4个缺失缓存函数(inv15、cloud_inv、ext_inv、transit)services/forecast.py:全局配置get_global_config()改用RefreshableCacherefresh_all_caches()同时删除文件缓存,所有 worker 自动重建
效果:冷启动1.3s(之前3s),缓存命中后18ms。