mirror of
https://github.com/openai/codex.git
synced 2026-11-13 14:46:14 +00:00
model-provider: route model discovery through HTTP client factory (#31361)
This commit is contained in:
1 parent
555aa79d5a
commit
5892c7b69d
36 files changed
+658
-131
No files matched your search
@@ -1,6 +1,7 @@
|
||||
use std::sync::Arc;
|
||||
use std::time::Duration;
|
||||
|
||||
use codex_http_client::HttpClientFactory;
|
||||
use codex_models_manager::manager::RefreshStrategy;
|
||||
use codex_models_manager::manager::SharedModelsManager;
|
||||
use tokio::task::JoinHandle;
|
||||
@@ -26,12 +27,16 @@ impl Drop for ModelsRefreshWorker {
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) fn spawn(models_manager: &SharedModelsManager) -> ModelsRefreshWorker {
|
||||
spawn_with_interval(models_manager, MODELS_REFRESH_INTERVAL)
|
||||
pub(crate) fn spawn(
|
||||
models_manager: &SharedModelsManager,
|
||||
http_client_factory: HttpClientFactory,
|
||||
) -> ModelsRefreshWorker {
|
||||
spawn_with_interval(models_manager, http_client_factory, MODELS_REFRESH_INTERVAL)
|
||||
}
|
||||
|
||||
fn spawn_with_interval(
|
||||
models_manager: &SharedModelsManager,
|
||||
http_client_factory: HttpClientFactory,
|
||||
refresh_interval: Duration,
|
||||
) -> ModelsRefreshWorker {
|
||||
let models_manager = Arc::downgrade(models_manager);
|
||||
@@ -45,7 +50,9 @@ fn spawn_with_interval(
|
||||
let Some(models_manager) = models_manager.upgrade() else {
|
||||
break;
|
||||
};
|
||||
models_manager.list_models(RefreshStrategy::Online).await;
|
||||
models_manager
|
||||
.list_models(RefreshStrategy::Online, http_client_factory.clone())
|
||||
.await;
|
||||
drop(models_manager);
|
||||
|
||||
tokio::select! {
|
||||
|
||||
Reference in new issue
Block a user