From 14432cce83a8dde04613d0a8fc45a8b7bbf0e6fd Mon Sep 17 00:00:00 2001 From: salt Date: Tue, 12 Dec 2023 15:12:34 -0800 Subject: [PATCH] fix errors --- .../src/job/job_loop/process_single_job.rs | 3 +- .../src/job/job_types/videofilter/mod.rs | 2 +- .../videofilter/process_single_vf_job.rs | 35 ++++++++++--------- .../videofilter/rerender_a_video/mod.rs | 2 +- .../{process_jobs.rs => process_job.rs} | 0 .../rerender_inference_command.rs | 20 +++++++++-- .../traits/internal_session_cache_purge.rs | 4 +-- 7 files changed, 41 insertions(+), 25 deletions(-) rename crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/{process_jobs.rs => process_job.rs} (100%) diff --git a/crates/service/job/inference_job/src/job/job_loop/process_single_job.rs b/crates/service/job/inference_job/src/job/job_loop/process_single_job.rs index 6dc5a4f7d4..c7edcdbb7f 100644 --- a/crates/service/job/inference_job/src/job/job_loop/process_single_job.rs +++ b/crates/service/job/inference_job/src/job/job_loop/process_single_job.rs @@ -16,6 +16,7 @@ use crate::job::job_loop::process_single_job_success_case::ProcessSingleJobSucce use crate::job::job_types::lipsync::process_single_lipsync_job::process_single_lipsync_job; use crate::job::job_types::tts::process_single_tts_job::process_single_tts_job; use crate::job::job_types::vc::process_single_vc_job::process_single_vc_job; +use crate::job::job_types::videofilter::process_single_vf_job::process_single_rr_job; use crate::job_dependencies::JobDependencies; pub async fn process_single_job( @@ -183,7 +184,7 @@ async fn do_process_single_job( process_single_vc_job(job_dependencies, job).await? } InferenceCategory::RerenderAVideo => { - process_single_rerender_job(job_dependencies, job).await? + process_single_rr_job(job_dependencies, job).await? } }; diff --git a/crates/service/job/inference_job/src/job/job_types/videofilter/mod.rs b/crates/service/job/inference_job/src/job/job_types/videofilter/mod.rs index 7f70f41199..305ceb8a28 100644 --- a/crates/service/job/inference_job/src/job/job_types/videofilter/mod.rs +++ b/crates/service/job/inference_job/src/job/job_types/videofilter/mod.rs @@ -1,2 +1,2 @@ pub(crate) mod rerender_a_video; -mod process_single_vf_job; +pub(crate) mod process_single_vf_job; diff --git a/crates/service/job/inference_job/src/job/job_types/videofilter/process_single_vf_job.rs b/crates/service/job/inference_job/src/job/job_types/videofilter/process_single_vf_job.rs index eee4f2cd8d..6a35427d0e 100644 --- a/crates/service/job/inference_job/src/job/job_types/videofilter/process_single_vf_job.rs +++ b/crates/service/job/inference_job/src/job/job_types/videofilter/process_single_vf_job.rs @@ -1,19 +1,13 @@ -use std::time::Duration; - use anyhow::anyhow; use log::{error, info}; -use enums::by_table::voice_conversion_models::voice_conversion_model_type::VoiceConversionModelType; use mysql_queries::queries::generic_inference::job::list_available_generic_inference_jobs::AvailableInferenceJob; use mysql_queries::queries::media_uploads::get_media_upload_for_inference::get_media_upload_for_inference; -use mysql_queries::queries::voice_conversion::inference::get_voice_conversion_model_for_inference::get_voice_conversion_model_for_inference; use tokens::tokens::media_uploads::MediaUploadToken; use crate::job::job_loop::job_success_result::JobSuccessResult; use crate::job::job_loop::process_single_job_error::ProcessSingleJobError; -use crate::job::job_types::vc::{rvc_v2, so_vits_svc}; -use crate::job::job_types::vc::rvc_v2::process_job::RvcV2ProcessJobArgs; -use crate::job::job_types::vc::so_vits_svc::process_job::SoVitsSvcProcessJobArgs; +use crate::job::job_types::videofilter::rerender_a_video; use crate::job_dependencies::JobDependencies; pub async fn process_single_rr_job(job_dependencies: &JobDependencies, job: &AvailableInferenceJob) -> Result { @@ -47,17 +41,24 @@ pub async fn process_single_rr_job(job_dependencies: &JobDependencies, job: &Ava - let job_success_result = match vc_model.model_type { - VoiceConversionModelType::RvcV2 => { - rvc_v2::process_job::process_job(RvcV2ProcessJobArgs { - job_dependencies, - job, - vc_model: &vc_model, - media_upload_token: &media_upload_token, - media_upload: &media_upload, - }).await? + // let job_success_result = match vc_model.model_type { + // VoiceConversionModelType::RvcV2 => { + // rvc_v2::process_job::process_job(RvcV2ProcessJobArgs { + // job_dependencies, + // job, + // vc_model: &vc_model, + // media_upload_token: &media_upload_token, + // media_upload: &media_upload, + // }).await? + // } + // }; + + let job_success_result = rerender_a_video::process_job::process_job( + rerender_a_video::process_job::RerenderProcessJobArgs { + job_dependencies, + job } - }; + ).await?; Ok(job_success_result) } diff --git a/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/mod.rs b/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/mod.rs index 711397cfb1..28c9dea48a 100644 --- a/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/mod.rs +++ b/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/mod.rs @@ -1,4 +1,4 @@ -mod process_jobs; +pub(crate) mod process_job; mod validate_job; mod download_video_file; mod rerender_inference_command; diff --git a/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/process_jobs.rs b/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/process_job.rs similarity index 100% rename from crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/process_jobs.rs rename to crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/process_job.rs diff --git a/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/rerender_inference_command.rs b/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/rerender_inference_command.rs index 2c221e2b28..8b0b011893 100644 --- a/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/rerender_inference_command.rs +++ b/crates/service/job/inference_job/src/job/job_types/videofilter/rerender_a_video/rerender_inference_command.rs @@ -77,9 +77,9 @@ impl RerenderInferenceCommand { maybe_execution_timeout: Option, ) -> Self { Self { - rerender_root_code_directory: rerender_root_code_directory.as_ref().to_path_buf(), + rerender_root_code_directory: rerender_root_code_directory.clone(), executable_or_command, - config_path: config_path.as_ref().to_path_buf(), + config_path: config_path.clone(), maybe_virtual_env_activation_command: maybe_virtual_env_activation_command.map(|s| s.to_string()), maybe_docker_options, maybe_execution_timeout, @@ -93,6 +93,20 @@ impl RerenderInferenceCommand { let config_path = easyenv::get_env_pathbuf_required( "RERENDER_INFERENCE_CONFIG_PATH")?; + let executable_or_command = match easyenv::get_env_string_optional( + "RERENDER_INFERENCE_EXECUTABLE_OR_COMMAND") { + None => { + return Err(anyhow!("RERENDER_INFERENCE_EXECUTABLE_OR_COMMAND is required")); + } + Some(executable_or_command) => { + if executable_or_command.contains(" ") { + ExecutableOrCommand::Command(executable_or_command) + } else { + ExecutableOrCommand::Executable(PathBuf::from(executable_or_command)) + } + } + }; + let maybe_virtual_env_activation_command = easyenv::get_env_string_optional( "RERENDER_INFERENCE_MAYBE_VENV_COMMAND"); @@ -192,7 +206,7 @@ impl RerenderInferenceCommand { let mut config = PopenConfig::default(); - info!("stderr will be written to file: {:?}", args.stderr_output_file.as_ref()); + info!("stderr will be written to file: {:?}", args.stderr_output_file.as_os_str()); let stderr_file = File::create(&args.stderr_output_file)?; config.stderr = Redirection::File(stderr_file); diff --git a/crates/service/plugins/billing/src/stripe/traits/internal_session_cache_purge.rs b/crates/service/plugins/billing/src/stripe/traits/internal_session_cache_purge.rs index 69abd86b95..cc4df2852d 100644 --- a/crates/service/plugins/billing/src/stripe/traits/internal_session_cache_purge.rs +++ b/crates/service/plugins/billing/src/stripe/traits/internal_session_cache_purge.rs @@ -1,8 +1,8 @@ use actix_web::HttpRequest; -use mockall::automock; +// use mockall::automock; /// Allows us to purge session caches that might keep stale premium plan/billing data around -#[cfg_attr(test, automock)] +// #[cfg_attr(test, automock)] pub trait InternalSessionCachePurge { /// Best effort attempt to delete /// Fails silently.