From af051405eba356b5f70a2529b93e2f55e7ff7553 Mon Sep 17 00:00:00 2001 From: Andrew McKenzie Date: Thu, 27 Jul 2023 13:32:20 +0100 Subject: [PATCH] purge old speedtests from db --- mobile_verifier/src/rewarder.rs | 10 +++++++++- mobile_verifier/src/speedtests_average.rs | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/mobile_verifier/src/rewarder.rs b/mobile_verifier/src/rewarder.rs index 10674fa41..b7d655906 100644 --- a/mobile_verifier/src/rewarder.rs +++ b/mobile_verifier/src/rewarder.rs @@ -2,7 +2,7 @@ use crate::{ data_session, heartbeats::HeartbeatReward, reward_shares::{MapperShares, PocShares, TransferRewards}, - speedtests_average::SpeedtestAverages, + speedtests_average::{SpeedtestAverages, SPEEDTEST_LAPSE}, subscriber_location, telemetry, }; use anyhow::bail; @@ -237,6 +237,14 @@ impl Rewarder { .execute(&mut transaction) .await?; + // Clear the speedtests table of tests older than hours defined by SPEEDTEST_LAPSE + // We end up with tests older than we need here but erroring on side of caution + // and the volume of tests is low so no big impact there + sqlx::query("DELETE FROM speedtests timestamp < $1") + .bind(Utc::now() - Duration::hours(SPEEDTEST_LAPSE)) + .execute(&mut transaction) + .await?; + // clear the db of data sessions data & subscriber location data for the epoch data_session::clear_hotspot_data_sessions(&mut transaction, reward_period).await?; subscriber_location::clear_location_shares(&mut transaction, reward_period).await?; diff --git a/mobile_verifier/src/speedtests_average.rs b/mobile_verifier/src/speedtests_average.rs index 0e091eff3..1d2592318 100644 --- a/mobile_verifier/src/speedtests_average.rs +++ b/mobile_verifier/src/speedtests_average.rs @@ -9,7 +9,7 @@ use sqlx::FromRow; use std::collections::HashMap; -const SPEEDTEST_LAPSE: i64 = 48; +pub const SPEEDTEST_LAPSE: i64 = 48; const MIN_DOWNLOAD: u64 = mbps(30); const MIN_UPLOAD: u64 = mbps(2); const MAX_LATENCY: u32 = 100;