From 314400bde52fa4091b9010b2dc18ab257cdb3c86 Mon Sep 17 00:00:00 2001 From: Connor Johnstone Date: Mon, 23 Mar 2026 18:37:46 -0400 Subject: [PATCH] redux of the worker queue --- shanty-db | 2 +- shanty-index | 2 +- shanty-org | 2 +- shanty-tag | 2 +- shanty-web | 2 +- src/main.rs | 17 +++++------------ 6 files changed, 10 insertions(+), 17 deletions(-) diff --git a/shanty-db b/shanty-db index e76b2fc..d2b2178 160000 --- a/shanty-db +++ b/shanty-db @@ -1 +1 @@ -Subproject commit e76b2fc575fdf014d0abc249ddb9554dfa3a4689 +Subproject commit d2b21789d3de23935f37ef61bf93c8f3814658ef diff --git a/shanty-index b/shanty-index index 3494de1..9d1366f 160000 --- a/shanty-index +++ b/shanty-index @@ -1 +1 @@ -Subproject commit 3494de113366b1b54e6d74c45ab17b52668e647a +Subproject commit 9d1366f2661210c9c7c3e170c224f3863723e399 diff --git a/shanty-org b/shanty-org index a2152cb..0a0fa18 160000 --- a/shanty-org +++ b/shanty-org @@ -1 +1 @@ -Subproject commit a2152cbf8d95aa0f5d8e2c5d1d5da4da9abf9d61 +Subproject commit 0a0fa18bfa20a3c8e080e8710fd4ee3c86f5208a diff --git a/shanty-tag b/shanty-tag index 65c229e..e74dec2 160000 --- a/shanty-tag +++ b/shanty-tag @@ -1 +1 @@ -Subproject commit 65c229ee7fe43fa8e4455f211b2bec04c30576f0 +Subproject commit e74dec206b8fe84f2e0b2eb6f96b607ab07de787 diff --git a/shanty-web b/shanty-web index 59a26c1..36345b1 160000 --- a/shanty-web +++ b/shanty-web @@ -1 +1 @@ -Subproject commit 59a26c18f3bd2bc8ca24cadc76eec19125f6715d +Subproject commit 36345b12ee8e862a8b86dd935af48778bc3fc989 diff --git a/src/main.rs b/src/main.rs index 06f33f2..b33f6c8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,6 +14,7 @@ use shanty_search::MusicBrainzSearch; use shanty_web::routes; use shanty_web::state::AppState; use shanty_web::tasks::TaskManager; +use shanty_web::workers::WorkerManager; #[derive(Parser)] #[command(name = "shanty", about = "Shanty — self-hosted music management")] @@ -128,21 +129,13 @@ async fn main() -> anyhow::Result<()> { config: std::sync::Arc::new(tokio::sync::RwLock::new(config)), config_path, tasks: TaskManager::new(), + workers: WorkerManager::new(), firefox_login: tokio::sync::Mutex::new(None), - scheduler: tokio::sync::Mutex::new(shanty_web::state::SchedulerInfo { - next_pipeline: None, - next_monitor: None, - skip_pipeline: false, - skip_monitor: false, - }), }); - // Start background cookie refresh task - shanty_web::cookie_refresh::spawn(state.config.clone()); - - // Start pipeline and monitor schedulers - shanty_web::pipeline_scheduler::spawn(state.clone()); - shanty_web::monitor::spawn(state.clone()); + // Start work queue workers and unified scheduler + WorkerManager::spawn_all(state.clone()); + shanty_web::scheduler::spawn(state.clone()); shanty_web::mb_update::spawn(state.clone()); // Resolve static files directory