31 lines
800 B
Rust
31 lines
800 B
Rust
use crate::app_config::AppConfig;
|
|
use crate::services::{files_service, tokens_service};
|
|
use std::time::Duration;
|
|
|
|
/// The "cron" of the project
|
|
pub async fn main_routine() {
|
|
loop {
|
|
tokio::time::sleep(Duration::from_secs(AppConfig::get().routine_interval)).await;
|
|
|
|
log::info!("Start to execute regular routine");
|
|
match exec_routine().await {
|
|
Ok(_) => {
|
|
log::info!("Routine successfully executed")
|
|
}
|
|
Err(e) => {
|
|
log::error!("Failed to execute routine! {e}");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
async fn exec_routine() -> anyhow::Result<()> {
|
|
// Remove orphan attachments
|
|
files_service::run_garbage_collector().await?;
|
|
|
|
// Remove expired tokens
|
|
tokens_service::cleanup().await?;
|
|
|
|
Ok(())
|
|
}
|