debugging and single provider compime

This commit is contained in:
Simon
2026-03-21 21:18:43 +00:00
parent 05ea90405b
commit 7b66e5b28a
8 changed files with 640 additions and 266 deletions

View File

@@ -39,6 +39,11 @@ async fn main() -> std::io::Result<()> {
}
}
env_logger::init(); // You need this to actually see logs
crate::flow_debug!(
"startup begin rust_log={} debug_compiled={}",
std::env::var("RUST_LOG").unwrap_or_else(|_| "unset".to_string()),
cfg!(feature = "debug")
);
// set up database connection pool
let connspec = std::env::var("DATABASE_URL").expect("DATABASE_URL");
@@ -46,15 +51,25 @@ async fn main() -> std::io::Result<()> {
let pool = r2d2::Pool::builder()
.build(manager)
.expect("Failed to create pool.");
crate::flow_debug!(
"database pool ready database_url={}",
crate::util::flow_debug::preview(&connspec, 96)
);
let mut requester = util::requester::Requester::new();
requester.set_proxy(env::var("PROXY").unwrap_or("0".to_string()) != "0".to_string());
crate::flow_debug!(
"requester initialized proxy_enabled={}",
requester.proxy_enabled()
);
let cache: util::cache::VideoCache = crate::util::cache::VideoCache::new()
.max_size(100_000)
.to_owned();
crate::flow_debug!("video cache initialized max_size=100000");
thread::spawn(move || {
crate::flow_debug!("provider init thread spawned");
// Create a tiny runtime just for these async tasks
let rt = tokio::runtime::Builder::new_current_thread()
.enable_all()
@@ -62,10 +77,13 @@ async fn main() -> std::io::Result<()> {
.expect("build tokio runtime");
rt.block_on(async move {
crate::flow_debug!("provider init begin");
providers::init_providers_now();
crate::flow_debug!("provider init complete");
});
});
crate::flow_debug!("http server binding addr=0.0.0.0:18080 workers=8");
web::HttpServer::new(move || {
web::App::new()
.state(pool.clone())