fix: cargo check --lib error

This commit is contained in:
imeepos 2025-08-08 16:07:52 +08:00
parent b6c363c304
commit e874d281e0
6 changed files with 49 additions and 15 deletions

View File

@ -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 mut issues = Vec::new();
@ -810,9 +810,9 @@ where
}
if issues.is_empty() {
CacheHealthStatus::Healthy
CacheHealthStatusEnum::Healthy
} else {
CacheHealthStatus::Warning(issues)
CacheHealthStatusEnum::Warning(issues)
}
}
@ -830,9 +830,9 @@ where
}
}
/// 缓存健康状态
/// 缓存健康状态枚举
#[derive(Debug, Clone)]
pub enum CacheHealthStatus {
pub enum CacheHealthStatusEnum {
/// 健康
Healthy,
/// 警告
@ -841,6 +841,18 @@ pub enum CacheHealthStatus {
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)]
pub struct CacheItemInfo {

View File

@ -10,14 +10,14 @@ use tracing::{info, warn, error, debug};
use serde::{Serialize, Deserialize};
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::templates::WorkflowInstance;
use crate::data::models::comfyui::{
WorkflowModel, TemplateModel, ExecutionModel, ExecutionStatus,
CreateWorkflowRequest, UpdateWorkflowRequest, CreateTemplateRequest,
ExecuteWorkflowRequest, ExecuteTemplateRequest
ExecuteWorkflowRequest
};
use crate::data::repositories::comfyui_repository::ComfyUIRepository;
use crate::business::services::realtime_monitor_v2::RealtimeMonitorV2;

View File

@ -43,14 +43,21 @@ impl ComfyUIV2ServiceManager {
// 创建缓存管理器
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 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 服务
let comfyui_service = Arc::new(ComfyUIV2Service::new(

View File

@ -12,6 +12,7 @@ use chrono::{DateTime, Utc};
use crate::data::models::comfyui::{ExecutionModel, ExecutionStatus, ParameterValues, WorkflowModel, TemplateModel};
use crate::data::repositories::comfyui_repository::ComfyUIRepository;
use crate::business::services::comfyui_manager::ComfyUIManager;
/// 任务优先级
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]

View File

@ -14,6 +14,8 @@ use uuid::Uuid;
use crate::business::services::tauri_event_emitter::TauriEventEmitter;
use crate::data::models::comfyui::{ExecutionModel, ExecutionStatus};
use crate::data::repositories::comfyui_repository::ComfyUIRepository;
use crate::business::services::comfyui_manager::ComfyUIManager;
use comfyui_sdk::WebSocketClient;
/// 实时事件类型
#[derive(Debug, Clone, Serialize, Deserialize)]

View File

@ -21,6 +21,9 @@ use crate::data::models::comfyui::{
WorkflowModel, TemplateModel, ExecutionModel, ExecutionStatus, ComfyUIConfig,
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 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;
@ -413,7 +425,7 @@ pub async fn comfyui_v2_create_workflow(
workflow.tags = request.tags;
// 保存到数据库
repository.create_workflow(&workflow).await
repository.create_workflow(&workflow)
.map_err(|e| format!("创建工作流失败: {}", e))?;
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 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))?;
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 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(None) => Err("工作流不存在".to_string()),
Err(e) => Err(format!("获取工作流失败: {}", e)),