extract background tasks into worker binary

Move auto_scheduler, library_sync, broadcast_poller, webhook_consumer
from presentation/background/ into crates/worker/src/jobs/.
Presentation is now a pure HTTP server.
This commit is contained in:
2026-07-12 07:28:17 +02:00
parent 826e824b58
commit abcf69ce7e
13 changed files with 521 additions and 48 deletions

35
crates/worker/Cargo.toml Normal file
View File

@@ -0,0 +1,35 @@
[package]
name = "worker"
version = "0.1.0"
edition = "2024"
[[bin]]
name = "k-tv-worker"
path = "src/main.rs"
[features]
default = ["sqlite", "jellyfin"]
sqlite = ["dep:adapter-sqlite", "infra-wiring/sqlite"]
jellyfin = ["dep:adapter-jellyfin"]
local-files = ["dep:adapter-local-files"]
[dependencies]
domain = { workspace = true }
application = { workspace = true }
infra-wiring = { workspace = true }
adapter-sqlite = { workspace = true, optional = true }
adapter-auth = { workspace = true }
adapter-jellyfin = { workspace = true, optional = true }
adapter-local-files = { workspace = true, optional = true }
adapter-event-publisher = { workspace = true }
tokio = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
reqwest = { workspace = true }
serde_json = { workspace = true }
chrono = { workspace = true }
uuid = { workspace = true }
async-trait = { workspace = true }
handlebars = "6"
dotenvy = "0.15"
anyhow = "1"