mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-04 01:18:34 +00:00
run both threads together
This commit is contained in:
1 parent
df551082b9
commit
ced81da40e
2 files changed
+16
-1
No files matched your search
@@ -6,6 +6,7 @@ use seedance2pro_client::creds::seedance2pro_session::Seedance2ProSession;
|
||||
use server_environment::ServerEnvironment;
|
||||
use sqlx::MySqlPool;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct JobDependencies {
|
||||
pub mysql_pool: MySqlPool,
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@ use seedance2pro_client::creds::seedance2pro_session::Seedance2ProSession;
|
||||
use server_environment::ServerEnvironment;
|
||||
|
||||
use crate::http_server::run_http_server::{launch_http_server, CreateServerArgs};
|
||||
use crate::jobs::character_polling_job::character_polling_main_loop::character_polling_main_loop;
|
||||
use crate::jobs::video_polling_job::video_polling_main_loop::video_polling_main_loop;
|
||||
use crate::job_dependencies::JobDependencies;
|
||||
use crate::startup::build_pager::build_pager;
|
||||
@@ -176,7 +177,20 @@ async fn main() -> AnyhowResult<()> {
|
||||
}
|
||||
});
|
||||
|
||||
video_polling_main_loop(job_dependencies).await;
|
||||
// Spawn both polling loops as concurrent tasks.
|
||||
let video_deps = job_dependencies.clone();
|
||||
let character_deps = job_dependencies;
|
||||
|
||||
let video_handle = tokio::spawn(async move {
|
||||
video_polling_main_loop(video_deps).await;
|
||||
});
|
||||
|
||||
let character_handle = tokio::spawn(async move {
|
||||
character_polling_main_loop(character_deps).await;
|
||||
});
|
||||
|
||||
// Wait for both to finish (they exit when application_shutdown is set).
|
||||
let _ = tokio::join!(video_handle, character_handle);
|
||||
|
||||
info!("Shutting down pager worker...");
|
||||
pager_for_shutdown.shutdown_worker();
|
||||
|
||||
Reference in new issue
Block a user