mirror of
https://github.com/Portabase/agent.git
synced 2026-10-15 09:01:44 +00:00
40 lines
1.1 KiB
Rust
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;
|
|
});
|
|
}
|