mirror of
https://github.com/infinilabs/coco-app.git
synced 2025-12-16 03:27:43 +01:00
chore: refresh all server's info on purpose, get the actual health info (#225)
* chore: refresh all server's info * chore: update release notes
This commit is contained in:
@@ -30,6 +30,8 @@ Information about release notes of Coco Server is provided here.
|
||||
- Refactoring assistant api #195
|
||||
- Refactor: remove websocket_session_id from message request #206
|
||||
- Refactor: the display of search results and the logic of creating new chats #207
|
||||
- Refresh all server's info on purpose, get the actual health info #225
|
||||
|
||||
|
||||
## 0.1.0 (2015-02-16)
|
||||
|
||||
|
||||
@@ -259,6 +259,10 @@ pub async fn load_or_insert_default_server<R: Runtime>(
|
||||
pub async fn list_coco_servers<R: Runtime>(
|
||||
_app_handle: AppHandle<R>,
|
||||
) -> Result<Vec<Server>, String> {
|
||||
|
||||
//hard fresh all server's info, in order to get the actual health
|
||||
refresh_all_coco_server_info(_app_handle.clone()).await;
|
||||
|
||||
let servers: Vec<Server> = get_all_servers();
|
||||
Ok(servers)
|
||||
}
|
||||
@@ -278,6 +282,15 @@ pub const COCO_SERVERS: &str = "coco_servers";
|
||||
|
||||
const COCO_SERVER_TOKENS: &str = "coco_server_tokens";
|
||||
|
||||
pub async fn refresh_all_coco_server_info<R: Runtime>(
|
||||
app_handle: AppHandle<R>,
|
||||
) {
|
||||
let servers = get_all_servers();
|
||||
for server in servers {
|
||||
let _ = refresh_coco_server_info(app_handle.clone(), server.id.clone()).await;
|
||||
}
|
||||
}
|
||||
|
||||
#[tauri::command]
|
||||
pub async fn refresh_coco_server_info<R: Runtime>(
|
||||
app_handle: AppHandle<R>,
|
||||
@@ -328,9 +341,11 @@ pub async fn refresh_coco_server_info<R: Runtime>(
|
||||
Err("Received empty response body.".to_string())
|
||||
}
|
||||
} else {
|
||||
mark_server_as_offline(id.as_str()).await;
|
||||
Err("Could not determine the content length.".to_string())
|
||||
}
|
||||
} else {
|
||||
mark_server_as_offline(id.as_str()).await;
|
||||
Err(format!("Request failed with status: {}", response.status()))
|
||||
}
|
||||
} else {
|
||||
@@ -453,6 +468,17 @@ pub async fn enable_server<R: Runtime>(app_handle: AppHandle<R>, id: String) ->
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
||||
pub async fn mark_server_as_offline(id: &str) {
|
||||
// println!("server_is_offline: {}", id);
|
||||
let server = get_server_by_id(id);
|
||||
if let Some(mut server) = server {
|
||||
server.available = false;
|
||||
server.health = None;
|
||||
save_server(&server);
|
||||
}
|
||||
}
|
||||
|
||||
#[tauri::command]
|
||||
pub async fn disable_server<R: Runtime>(app_handle: AppHandle<R>, id: String) -> Result<(), ()> {
|
||||
println!("disable_server: {}", id);
|
||||
|
||||
Reference in New Issue
Block a user