避免 DirectProject 落盘阻塞 Tokio

将原始响应历史写入移到 spawn_blocking

保持事件顺序并避免阻塞异步收集循环
This commit is contained in:
2026-09-05 11:54:53 +08:00
parent baba45323a
commit 9a48503e15
@@ -2302,7 +2302,17 @@ impl CodexAppServerConnection {
"rawResponseItem/completed 缺少 item".to_string(),
));
}
append_direct_project_history_item_at(history_root, &item)
let history_root = history_root.to_path_buf();
let history_item = item.clone();
tokio::task::spawn_blocking(move || {
append_direct_project_history_item_at(&history_root, &history_item)
})
.await
.map_err(|error| {
platform_llm::LlmError::Transport(format!(
"DirectProject 历史落盘任务失败:{error}"
))
})?
.map_err(platform_llm::LlmError::InvalidRequest)?;
direct_project_history.complete_item(&item);
}