From 4acc51195d23401997ca3e25ba8b91130e54636a Mon Sep 17 00:00:00 2001 From: alyssa Date: Tue, 8 Apr 2025 17:34:50 +0000 Subject: [PATCH] fix(scheduled_tasks): don't crash on missing data --- crates/scheduled_tasks/src/tasks.rs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/crates/scheduled_tasks/src/tasks.rs b/crates/scheduled_tasks/src/tasks.rs index e0247768..bdcb51be 100644 --- a/crates/scheduled_tasks/src/tasks.rs +++ b/crates/scheduled_tasks/src/tasks.rs @@ -10,7 +10,6 @@ use metrics::gauge; use num_format::{Locale, ToFormattedString}; use reqwest::ClientBuilder; use sqlx::Executor; -use tracing::error; use crate::AppCtx; @@ -190,28 +189,25 @@ pub async fn update_stats_api(ctx: AppCtx) -> anyhow::Result<()> { let data = resp.json::().await?; let error_handler = || { - error!("missing data at {}", $q); + anyhow::anyhow!("missing data at {}", $q) }; data.data .result .get(0) - .ok_or_else(error_handler) - .unwrap() + .ok_or_else(error_handler)? .value .clone() .get(1) - .ok_or_else(error_handler) - .unwrap() + .ok_or_else(error_handler)? .as_str() - .ok_or_else(error_handler) - .unwrap() + .ok_or_else(error_handler)? .parse::<$t>()? }}; ($t:ty, $q:expr, $wrap:expr) => {{ let val = prom_instant_query!($t, $q); let val = (val * $wrap).round() / $wrap; - format!("{:.2}", val).parse::().unwrap() + format!("{:.2}", val).parse::()? }}; }