From ed8eec669b41b3a845d36d8bad48dd63f0fc0b3c Mon Sep 17 00:00:00 2001 From: Quentin Gliech Date: Mon, 28 Apr 2025 09:59:58 +0200 Subject: [PATCH] Use a tokio interval instead of a sleep in the activity tracker --- crates/handlers/src/activity_tracker/mod.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/handlers/src/activity_tracker/mod.rs b/crates/handlers/src/activity_tracker/mod.rs index 232c636ef..3f7511af6 100644 --- a/crates/handlers/src/activity_tracker/mod.rs +++ b/crates/handlers/src/activity_tracker/mod.rs @@ -185,6 +185,8 @@ impl ActivityTracker { // This guard on the shutdown token is to ensure that if this task crashes for // any reason, the server will shut down let _guard = cancellation_token.clone().drop_guard(); + let mut interval = tokio::time::interval(interval); + interval.set_missed_tick_behavior(tokio::time::MissedTickBehavior::Skip); loop { tokio::select! { @@ -202,7 +204,7 @@ impl ActivityTracker { } - () = tokio::time::sleep(interval) => { + _ = interval.tick() => { self.flush().await; } }