57 lines
1.8 KiB
Rust
57 lines
1.8 KiB
Rust
use std::collections::HashMap;
|
|
use uni_comfyui_sdk::{UniComfyUIClient, Result, ServerRegistrationRequest};
|
|
|
|
#[tokio::main]
|
|
async fn main() -> Result<()> {
|
|
// Create a new client
|
|
let client = UniComfyUIClient::new("http://192.168.0.148:18000")?;
|
|
|
|
// Get system metrics
|
|
println!("Getting system metrics...");
|
|
let metrics = client.get_metrics().await?;
|
|
println!("Metrics: {:#?}", metrics);
|
|
|
|
// Get all workflows
|
|
println!("\nGetting all workflows...");
|
|
let workflows = client.get_all_workflows().await?;
|
|
println!("Found {} workflows", workflows.len());
|
|
|
|
// Get servers status
|
|
println!("\nGetting servers status...");
|
|
let servers = client.get_servers_status().await?;
|
|
println!("Found {} servers", servers.len());
|
|
|
|
// Health check
|
|
println!("\nPerforming health check...");
|
|
let health = client.health_check().await?;
|
|
println!("Health status: {:#?}", health);
|
|
|
|
// Example: Register a new server
|
|
println!("\nRegistering a new server...");
|
|
let registration_request = ServerRegistrationRequest {
|
|
name: "test-server".to_string(),
|
|
http_url: "http://192.168.0.148:8188".to_string(),
|
|
ws_url: "ws://192.168.0.148:8188".to_string(),
|
|
};
|
|
|
|
match client.register_server(registration_request).await {
|
|
Ok(response) => println!("Server registered: {:#?}", response),
|
|
Err(e) => println!("Failed to register server: {}", e),
|
|
}
|
|
|
|
// Example: Run a workflow
|
|
println!("\nRunning a workflow...");
|
|
let mut workflow_data = HashMap::new();
|
|
workflow_data.insert("input".to_string(), serde_json::json!("test input"));
|
|
|
|
match client
|
|
.run_workflow("test_workflow", None, workflow_data)
|
|
.await
|
|
{
|
|
Ok(response) => println!("Workflow started: {:#?}", response),
|
|
Err(e) => println!("Failed to start workflow: {}", e),
|
|
}
|
|
|
|
Ok(())
|
|
}
|