kanidm/kanidmd/src/lib/interval.rs

25 lines
745 B
Rust
Raw Normal View History

2019-10-15 04:34:07 +02:00
use crate::actors::v1_write::QueryServerWriteV1;
use crate::constants::PURGE_FREQUENCY;
use crate::event::{PurgeRecycledEvent, PurgeTombstoneEvent};
2019-02-22 07:15:48 +01:00
use tokio::time::{interval, Duration};
2019-02-22 07:15:48 +01:00
pub struct IntervalActor;
2019-02-22 07:15:48 +01:00
impl IntervalActor {
pub fn start(server: &'static QueryServerWriteV1) {
tokio::spawn(async move {
let mut inter = interval(Duration::from_secs(PURGE_FREQUENCY));
loop {
inter.tick().await;
server
.handle_purgetombstoneevent(PurgeTombstoneEvent::new())
.await;
server
.handle_purgerecycledevent(PurgeRecycledEvent::new())
.await;
}
2019-02-22 07:15:48 +01:00
});
}
}