Compare commits

...
Author SHA1 Message Date
Madhukar Mishra 3a70f02584 nevermind 2024-02-11 21:45:42 +05:30
Madhukar Mishra b40213970e Use thumbnail-generator service in comfy_ui workflow 2024-02-11 20:45:12 +05:30
@@ -1,13 +1,16 @@
use std::collections::HashMap;
use std::fs::{File, read_to_string};
use std::path::{Path, PathBuf};
use std::time::Instant;
use anyhow::anyhow;
use log::{error, info, warn};
use reqwest::Error as ReqwestError;
use serde_json::Value;
use tokio::io::AsyncWriteExt;
use walkdir::WalkDir;
use container_common::token::random_uuid::generate_random_uuid;
use buckets::public::media_files::bucket_file_path::MediaFileBucketPath;
use cloud_storage::remote_file_manager::remote_cloud_bucket_details::RemoteCloudBucketDetails;
use cloud_storage::remote_file_manager::remote_cloud_file_manager::RemoteCloudFileClient;
@@ -48,6 +51,43 @@ fn recursively_delete_files_in(path: &Path) -> std::io::Result<()> {
Ok(())
}
#[derive(Serialize, Debug)]
struct Remote {
bucket: String,
path: String,
#[serde(rename = "type")]
type_: String,
}
#[derive(Serialize, Debug)]
struct HttpCallback {
url: String,
method: String,
headers: HashMap<String, String>,
}
#[derive(Serialize, Debug)]
struct ThumbnailTask {
event_id: String,
input: Remote,
output: Remote,
#[serde(skip_serializing_if = "Option::is_none")]
callback: Option<HttpCallback>,
#[serde(default)]
tags: Vec<HashMap<String, String>>,
}
async fn send_thumbnail_task(task: &ThumbnailTask) -> Result<(), ReqwestError> {
let url = "http://thumbnail-generator.media-server/tasks";
let client = reqwest::Client::new();
client.post(url)
.json(task)
.send()
.await?
.error_for_status()?; // This ensures we get an error back if the response status is not 2xx.
Ok(())
}
pub async fn process_job(args: ComfyProcessJobArgs<'_>) -> Result<JobSuccessResult, ProcessSingleJobError> {
let job = args.job;
let deps = args.job_dependencies;