yggdrasil/src/tasks/session_cleanup.rs

26 lines
685 B
Rust

use std::time::Duration;
use tokio::time::interval;
use crate::db::pool::get_conn;
pub async fn run_cleanup() {
let mut ticker = interval(Duration::from_secs(3600));
loop {
ticker.tick().await;
match get_conn().await {
Ok(client) => {
if let Err(e) = client
.execute("DELETE FROM sessions WHERE expires_at < NOW()", &[])
.await
{
tracing::error!("Session cleanup error: {:?}", e);
}
}
Err(e) => {
tracing::error!("Failed to get DB connection for cleanup: {:?}", e);
}
}
}
}