forked from Zynh0722/nyazoom
24 lines
744 B
Rust
24 lines
744 B
Rust
|
use tokio::task::JoinHandle;
|
||
|
|
||
|
pub fn spawn_sweeper() -> JoinHandle<!> {
|
||
|
// Spawn a repeating task that will clean files periodically
|
||
|
tokio::spawn({
|
||
|
let state = state.clone();
|
||
|
async move {
|
||
|
loop {
|
||
|
tokio::time::sleep(Duration::from_secs(15 * 60)).await;
|
||
|
tracing::info!("Cleaning Sweep!");
|
||
|
|
||
|
let mut records = state.records.lock().await;
|
||
|
|
||
|
for (key, record) in records.clone().into_iter() {
|
||
|
if !record.can_be_downloaded() {
|
||
|
tracing::info!("culling: {:?}", record);
|
||
|
records.remove_record(&key).await.unwrap();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
})
|
||
|
}
|