From 35ffd0ec3a5d056fff63afac035b581199ead33e Mon Sep 17 00:00:00 2001 From: Tamo Date: Tue, 19 Oct 2021 19:17:16 +0200 Subject: [PATCH] integrate the search batcher in the tick --- meilisearch-http/src/analytics.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/meilisearch-http/src/analytics.rs b/meilisearch-http/src/analytics.rs index 60f03e2d5..ec365039f 100644 --- a/meilisearch-http/src/analytics.rs +++ b/meilisearch-http/src/analytics.rs @@ -143,7 +143,17 @@ mod segment { }) .await; } - let _ = self.batcher.lock().await.flush().await; + let get_search = std::mem::take(&mut *self.get_search_batcher.lock().await) + .into_event(self.user.clone(), "Documents Searched GET".to_string()); + let post_search = std::mem::take(&mut *self.post_search_batcher.lock().await) + .into_event(self.user.clone(), "Documents Searched POST".to_string()); + // keep the lock on the batcher just for these three operations + { + let mut batcher = self.batcher.lock().await; + let _ = batcher.push(get_search).await; + let _ = batcher.push(post_search).await; + let _ = self.batcher.lock().await.flush().await; + } println!("ANALYTICS: sent the batch"); tokio::time::sleep(Duration::from_secs(60 * 5)).await; // 5 minutes }