Files
Portabase.Agent/src/main.rs
T
2026-09-26 18:11:19 +02:00

40 lines
1.1 KiB
Rust

mod core;
mod domain;
mod services;
mod settings;
mod tasks;
#[cfg(test)]
mod tests;
mod utils;
use crate::tasks::ping::ping_server;
use crate::utils::locks::FileLock;
use crate::utils::logging;
use utils::redis_client;
use utils::task_manager::scheduler;
#[tokio::main]
async fn main() {
let _ = rustls::crypto::aws_lc_rs::default_provider().install_default();
logging::init_logger();
if let Err(e) = FileLock::clean_startup().await {
eprintln!("Failed to clean locks on startup: {:?}", e);
}
match crate::domain::docker_volume::docker::client() {
Ok(docker) => match crate::domain::docker_volume::docker::sweep_ephemeral(&docker).await {
Ok(n) if n > 0 => tracing::info!("Removed {n} orphaned ephemeral helper container(s)"),
Ok(_) => {}
Err(e) => tracing::warn!("Ephemeral helper sweep failed: {e}"),
},
Err(e) => tracing::debug!("Docker socket unavailable, skipping helper sweep: {e}"),
}
tokio::join!(ping_server(), async {
let conn = redis_client::redis_connection().await;
scheduler::scheduler_loop(conn).await;
});
}