支持全局配置保存后立即应用到运行时

- 新增 Robot.apply_runtime_config 统一刷新邮件发送器、管理员列表与 LLM 运行时缓存\n- 新增 LLMRegistry.invalidate_cache 主动清理目录与 legacy 配置缓存\n- 后台保存全局配置与 LLM 目录后立即应用运行时配置,减少重启依赖
This commit is contained in:
liuwei
2026-04-29 17:27:21 +08:00
parent 28dc9da852
commit b53206d0d1
3 changed files with 60 additions and 2 deletions

View File

@@ -24,6 +24,21 @@ class LLMRegistry:
"legacy_llm": {},
}
@classmethod
def invalidate_cache(cls) -> None:
"""主动清空运行时缓存。
说明:
1. 后台修改全局 YAML 或 MySQL 中的 LLM 目录后,旧缓存可能还在 3 秒有效期内;
2. 对于“保存后立刻生效”的后台体验,主动失效比等待 TTL 自然过期更直接;
3. 这里只清缓存,不做任何 IO下一次 resolve/get_catalog 时会自动重新装载最新配置。
"""
cls._cache = {
"cache_until": 0.0,
"catalog": {},
"legacy_llm": {},
}
@classmethod
def get_root_config_path(cls) -> Path:
return Path(__file__).resolve().parents[2] / "config.yaml"