mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-07 09:57:47 +08:00
refactor: extract runtime state backends
This commit is contained in:
@@ -139,11 +139,8 @@ pub(super) async fn build_admin_pool_list_keys_response(
|
||||
let page_offset = page.saturating_sub(1).saturating_mul(page_size);
|
||||
|
||||
let (keys, total) = if status == "cooldown" {
|
||||
let cooldown_key_ids = if let Some(runner) = state.redis_kv_runner() {
|
||||
read_admin_provider_pool_cooldown_key_ids(&runner, &provider.id).await
|
||||
} else {
|
||||
Vec::new()
|
||||
};
|
||||
let cooldown_key_ids =
|
||||
read_admin_provider_pool_cooldown_key_ids(state.runtime_state(), &provider.id).await;
|
||||
let mut keys = if cooldown_key_ids.is_empty() {
|
||||
Vec::new()
|
||||
} else {
|
||||
@@ -240,10 +237,10 @@ pub(super) async fn build_admin_pool_list_keys_response(
|
||||
let endpoints = state
|
||||
.list_provider_catalog_endpoints_by_provider_ids(std::slice::from_ref(&provider.id))
|
||||
.await?;
|
||||
let runtime = match (state.redis_kv_runner(), pool_config.as_ref()) {
|
||||
(Some(runner), Some(pool_config)) if !key_ids.is_empty() => {
|
||||
let runtime = match pool_config.as_ref() {
|
||||
Some(pool_config) if !key_ids.is_empty() => {
|
||||
read_admin_provider_pool_runtime_state(
|
||||
&runner,
|
||||
state.runtime_state(),
|
||||
&provider.id,
|
||||
&key_ids,
|
||||
pool_config,
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
use std::collections::BTreeMap;
|
||||
|
||||
use super::{
|
||||
admin_provider_pool_config, build_admin_pool_error_response,
|
||||
read_admin_provider_pool_cooldown_counts,
|
||||
@@ -12,7 +14,6 @@ use axum::{
|
||||
response::{IntoResponse, Response},
|
||||
Json,
|
||||
};
|
||||
use std::collections::BTreeMap;
|
||||
|
||||
pub(super) async fn build_admin_pool_overview_response(
|
||||
state: &AdminAppState<'_>,
|
||||
@@ -35,7 +36,6 @@ pub(super) async fn build_admin_pool_overview_response(
|
||||
.iter()
|
||||
.map(|(provider, _)| provider.id.clone())
|
||||
.collect::<Vec<_>>();
|
||||
let redis_runner = state.redis_kv_runner();
|
||||
let (key_stats_result, cooldown_counts_by_provider) = tokio::join!(
|
||||
async {
|
||||
if provider_ids.is_empty() {
|
||||
@@ -47,11 +47,10 @@ pub(super) async fn build_admin_pool_overview_response(
|
||||
}
|
||||
},
|
||||
async {
|
||||
match redis_runner.as_ref() {
|
||||
Some(runner) if !provider_ids.is_empty() => {
|
||||
read_admin_provider_pool_cooldown_counts(runner, &provider_ids).await
|
||||
}
|
||||
_ => BTreeMap::new(),
|
||||
if provider_ids.is_empty() {
|
||||
std::collections::BTreeMap::new()
|
||||
} else {
|
||||
read_admin_provider_pool_cooldown_counts(state.runtime_state(), &provider_ids).await
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user