23 lines
594 B
Rust
23 lines
594 B
Rust
use crate::db::Db;
|
|
use std::time::Duration;
|
|
use tracing::info;
|
|
|
|
/// Background job that marks expired URLs.
|
|
///
|
|
/// Runs every 60 seconds. Any URL with `expires_at < NOW()` and `expired = 0`
|
|
/// gets flipped to `expired = 1`.
|
|
pub async fn run_expiry_checker(db: Db) {
|
|
loop {
|
|
tokio::time::sleep(Duration::from_secs(60)).await;
|
|
|
|
let count = {
|
|
let conn = db.content.lock().unwrap();
|
|
crate::db::content::expire_urls(&conn).unwrap_or(0)
|
|
};
|
|
|
|
if count > 0 {
|
|
info!(expired_count = count, "Expired URLs marked");
|
|
}
|
|
}
|
|
}
|