fix: cargo check --lib error
This commit is contained in:
parent
b6c363c304
commit
e874d281e0
|
|
@ -789,7 +789,7 @@ where
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 检查缓存健康状态
|
/// 检查缓存健康状态
|
||||||
pub async fn health_check(&self) -> CacheHealthStatus {
|
pub async fn health_check(&self) -> CacheHealthStatusEnum {
|
||||||
let stats = self.get_stats().await;
|
let stats = self.get_stats().await;
|
||||||
|
|
||||||
let mut issues = Vec::new();
|
let mut issues = Vec::new();
|
||||||
|
|
@ -810,9 +810,9 @@ where
|
||||||
}
|
}
|
||||||
|
|
||||||
if issues.is_empty() {
|
if issues.is_empty() {
|
||||||
CacheHealthStatus::Healthy
|
CacheHealthStatusEnum::Healthy
|
||||||
} else {
|
} else {
|
||||||
CacheHealthStatus::Warning(issues)
|
CacheHealthStatusEnum::Warning(issues)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -830,9 +830,9 @@ where
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 缓存健康状态
|
/// 缓存健康状态枚举
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub enum CacheHealthStatus {
|
pub enum CacheHealthStatusEnum {
|
||||||
/// 健康
|
/// 健康
|
||||||
Healthy,
|
Healthy,
|
||||||
/// 警告
|
/// 警告
|
||||||
|
|
@ -841,6 +841,18 @@ pub enum CacheHealthStatus {
|
||||||
Error(Vec<String>),
|
Error(Vec<String>),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// 缓存健康状态详情
|
||||||
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
|
pub struct CacheHealthStatus {
|
||||||
|
pub status: String,
|
||||||
|
pub hit_rate: f64,
|
||||||
|
pub utilization: f64,
|
||||||
|
pub total_items: usize,
|
||||||
|
pub expired_items: usize,
|
||||||
|
pub memory_usage: usize,
|
||||||
|
pub recommendations: Vec<String>,
|
||||||
|
}
|
||||||
|
|
||||||
/// 缓存项信息
|
/// 缓存项信息
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct CacheItemInfo {
|
pub struct CacheItemInfo {
|
||||||
|
|
|
||||||
|
|
@ -10,14 +10,14 @@ use tracing::{info, warn, error, debug};
|
||||||
use serde::{Serialize, Deserialize};
|
use serde::{Serialize, Deserialize};
|
||||||
use uuid::Uuid;
|
use uuid::Uuid;
|
||||||
|
|
||||||
use comfyui_sdk::{ComfyUIClient, ComfyUIConfig};
|
use comfyui_sdk::ComfyUIClient;
|
||||||
|
use crate::data::models::comfyui::ComfyUIConfig;
|
||||||
use comfyui_sdk::types::{PromptRequest, ExecutionOptions, ParameterValues};
|
use comfyui_sdk::types::{PromptRequest, ExecutionOptions, ParameterValues};
|
||||||
use comfyui_sdk::templates::WorkflowInstance;
|
use comfyui_sdk::templates::WorkflowInstance;
|
||||||
|
|
||||||
use crate::data::models::comfyui::{
|
use crate::data::models::comfyui::{
|
||||||
WorkflowModel, TemplateModel, ExecutionModel, ExecutionStatus,
|
WorkflowModel, TemplateModel, ExecutionModel, ExecutionStatus,
|
||||||
CreateWorkflowRequest, UpdateWorkflowRequest, CreateTemplateRequest,
|
ExecuteWorkflowRequest
|
||||||
ExecuteWorkflowRequest, ExecuteTemplateRequest
|
|
||||||
};
|
};
|
||||||
use crate::data::repositories::comfyui_repository::ComfyUIRepository;
|
use crate::data::repositories::comfyui_repository::ComfyUIRepository;
|
||||||
use crate::business::services::realtime_monitor_v2::RealtimeMonitorV2;
|
use crate::business::services::realtime_monitor_v2::RealtimeMonitorV2;
|
||||||
|
|
|
||||||
|
|
@ -43,14 +43,21 @@ impl ComfyUIV2ServiceManager {
|
||||||
// 创建缓存管理器
|
// 创建缓存管理器
|
||||||
let cache_manager = Arc::new(CacheManager::new(CacheConfig::default()));
|
let cache_manager = Arc::new(CacheManager::new(CacheConfig::default()));
|
||||||
|
|
||||||
|
// 创建 ComfyUI 管理器
|
||||||
|
let comfyui_manager = Arc::new(ComfyUIManager::new(repository.clone()));
|
||||||
|
|
||||||
// 创建模板引擎
|
// 创建模板引擎
|
||||||
let template_engine = Arc::new(TemplateEngine::new(repository.clone()));
|
let template_engine = Arc::new(TemplateEngine::new(repository.clone()));
|
||||||
|
|
||||||
// 创建队列管理器
|
// 创建队列管理器
|
||||||
let queue_manager = Arc::new(QueueManager::new(repository.clone(), None));
|
let queue_manager = Arc::new(QueueManager::new(repository.clone(), None));
|
||||||
|
|
||||||
// 创建实时监控服务
|
// 创建实时监控服务
|
||||||
let realtime_monitor = Arc::new(RealtimeMonitorV2::new(repository.clone(), None));
|
let realtime_monitor = Arc::new(RealtimeMonitorV2::new(
|
||||||
|
comfyui_manager.clone(),
|
||||||
|
repository.clone(),
|
||||||
|
None
|
||||||
|
));
|
||||||
|
|
||||||
// 创建核心 ComfyUI V2 服务
|
// 创建核心 ComfyUI V2 服务
|
||||||
let comfyui_service = Arc::new(ComfyUIV2Service::new(
|
let comfyui_service = Arc::new(ComfyUIV2Service::new(
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ use chrono::{DateTime, Utc};
|
||||||
|
|
||||||
use crate::data::models::comfyui::{ExecutionModel, ExecutionStatus, ParameterValues, WorkflowModel, TemplateModel};
|
use crate::data::models::comfyui::{ExecutionModel, ExecutionStatus, ParameterValues, WorkflowModel, TemplateModel};
|
||||||
use crate::data::repositories::comfyui_repository::ComfyUIRepository;
|
use crate::data::repositories::comfyui_repository::ComfyUIRepository;
|
||||||
|
use crate::business::services::comfyui_manager::ComfyUIManager;
|
||||||
|
|
||||||
/// 任务优先级
|
/// 任务优先级
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,8 @@ use uuid::Uuid;
|
||||||
use crate::business::services::tauri_event_emitter::TauriEventEmitter;
|
use crate::business::services::tauri_event_emitter::TauriEventEmitter;
|
||||||
use crate::data::models::comfyui::{ExecutionModel, ExecutionStatus};
|
use crate::data::models::comfyui::{ExecutionModel, ExecutionStatus};
|
||||||
use crate::data::repositories::comfyui_repository::ComfyUIRepository;
|
use crate::data::repositories::comfyui_repository::ComfyUIRepository;
|
||||||
|
use crate::business::services::comfyui_manager::ComfyUIManager;
|
||||||
|
use comfyui_sdk::WebSocketClient;
|
||||||
|
|
||||||
/// 实时事件类型
|
/// 实时事件类型
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,9 @@ use crate::data::models::comfyui::{
|
||||||
WorkflowModel, TemplateModel, ExecutionModel, ExecutionStatus, ComfyUIConfig,
|
WorkflowModel, TemplateModel, ExecutionModel, ExecutionStatus, ComfyUIConfig,
|
||||||
ParameterValues, ValidationResult,
|
ParameterValues, ValidationResult,
|
||||||
};
|
};
|
||||||
|
use comfyui_sdk::types::{ComfyUIWorkflow, ComfyUINode};
|
||||||
|
use std::collections::HashMap;
|
||||||
|
use crate::business::services::comfyui_manager::ComfyUIManager;
|
||||||
|
|
||||||
// ==================== 响应类型定义 ====================
|
// ==================== 响应类型定义 ====================
|
||||||
|
|
||||||
|
|
@ -404,8 +407,17 @@ pub async fn comfyui_v2_create_workflow(
|
||||||
let service_manager = get_service_manager(&state).await?;
|
let service_manager = get_service_manager(&state).await?;
|
||||||
let repository = service_manager.get_repository();
|
let repository = service_manager.get_repository();
|
||||||
|
|
||||||
|
// 转换工作流数据
|
||||||
|
let workflow_data: ComfyUIWorkflow = request.workflow_data.into_iter()
|
||||||
|
.map(|(k, v)| {
|
||||||
|
let node = serde_json::from_value(v)
|
||||||
|
.map_err(|e| format!("解析工作流节点失败: {}", e))?;
|
||||||
|
Ok((k, node))
|
||||||
|
})
|
||||||
|
.collect::<Result<HashMap<String, ComfyUINode>, String>>()?;
|
||||||
|
|
||||||
// 创建工作流模型
|
// 创建工作流模型
|
||||||
let mut workflow = WorkflowModel::new(request.name, request.workflow_data);
|
let mut workflow = WorkflowModel::new(request.name, workflow_data);
|
||||||
|
|
||||||
// 设置可选字段
|
// 设置可选字段
|
||||||
workflow.description = request.description;
|
workflow.description = request.description;
|
||||||
|
|
@ -413,7 +425,7 @@ pub async fn comfyui_v2_create_workflow(
|
||||||
workflow.tags = request.tags;
|
workflow.tags = request.tags;
|
||||||
|
|
||||||
// 保存到数据库
|
// 保存到数据库
|
||||||
repository.create_workflow(&workflow).await
|
repository.create_workflow(&workflow)
|
||||||
.map_err(|e| format!("创建工作流失败: {}", e))?;
|
.map_err(|e| format!("创建工作流失败: {}", e))?;
|
||||||
|
|
||||||
Ok(convert_workflow_model(&workflow))
|
Ok(convert_workflow_model(&workflow))
|
||||||
|
|
@ -430,7 +442,7 @@ pub async fn comfyui_v2_list_workflows(
|
||||||
let service_manager = get_service_manager(&state).await?;
|
let service_manager = get_service_manager(&state).await?;
|
||||||
let repository = service_manager.get_repository();
|
let repository = service_manager.get_repository();
|
||||||
|
|
||||||
let workflows = repository.list_workflows(enabled_only.unwrap_or(true)).await
|
let workflows = repository.list_workflows(enabled_only.unwrap_or(true))
|
||||||
.map_err(|e| format!("获取工作流列表失败: {}", e))?;
|
.map_err(|e| format!("获取工作流列表失败: {}", e))?;
|
||||||
|
|
||||||
let responses = workflows.iter().map(convert_workflow_model).collect();
|
let responses = workflows.iter().map(convert_workflow_model).collect();
|
||||||
|
|
@ -448,7 +460,7 @@ pub async fn comfyui_v2_get_workflow(
|
||||||
let service_manager = get_service_manager(&state).await?;
|
let service_manager = get_service_manager(&state).await?;
|
||||||
let repository = service_manager.get_repository();
|
let repository = service_manager.get_repository();
|
||||||
|
|
||||||
match repository.get_workflow(&workflow_id).await {
|
match repository.get_workflow(&workflow_id) {
|
||||||
Ok(Some(workflow)) => Ok(convert_workflow_model(&workflow)),
|
Ok(Some(workflow)) => Ok(convert_workflow_model(&workflow)),
|
||||||
Ok(None) => Err("工作流不存在".to_string()),
|
Ok(None) => Err("工作流不存在".to_string()),
|
||||||
Err(e) => Err(format!("获取工作流失败: {}", e)),
|
Err(e) => Err(format!("获取工作流失败: {}", e)),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue