perf(会员): 模型目录与账号权限档并发读取
- load_owner_llm_catalog 原串行等待目录与权限档两次 SpacetimeDB 往返,热路径延迟叠加 - 改为 tokio::join! 并发发起;目录错误仍由 catalog? 返回,权限档失败关闭语义不变
This commit is contained in:
@@ -345,13 +345,20 @@ async fn load_llm_catalog(
|
||||
}
|
||||
|
||||
/// 全局目录 + 账号权限档;所有对外 LLM 路由都经它解析模型。
|
||||
///
|
||||
/// 两者相互独立,热路径上用 `join!` 并发发往 SpacetimeDB,避免串行叠加两次往返延迟。
|
||||
async fn load_owner_llm_catalog(
|
||||
state: &AppState,
|
||||
owner: &str,
|
||||
) -> Result<OwnerAgcModelCatalog, AppError> {
|
||||
let catalog = load_llm_catalog(state, owner).await?;
|
||||
let access = resolve_owner_agc_model_access(state, owner).await;
|
||||
Ok(OwnerAgcModelCatalog { catalog, access })
|
||||
let (catalog, access) = tokio::join!(
|
||||
load_llm_catalog(state, owner),
|
||||
resolve_owner_agc_model_access(state, owner),
|
||||
);
|
||||
Ok(OwnerAgcModelCatalog {
|
||||
catalog: catalog?,
|
||||
access,
|
||||
})
|
||||
}
|
||||
|
||||
/// 模型解析错误的统一映射:档位不够是 403 + 专用错误码,目录外 / 停用仍是 422。
|
||||
|
||||
Reference in New Issue
Block a user