mirror of
https://github.com/PluralKit/PluralKit.git
synced 2026-02-16 02:30:11 +00:00
fix(scheduled_tasks): don't crash on missing data
This commit is contained in:
parent
eca5cbff97
commit
4acc51195d
1 changed files with 5 additions and 9 deletions
|
|
@ -10,7 +10,6 @@ use metrics::gauge;
|
||||||
use num_format::{Locale, ToFormattedString};
|
use num_format::{Locale, ToFormattedString};
|
||||||
use reqwest::ClientBuilder;
|
use reqwest::ClientBuilder;
|
||||||
use sqlx::Executor;
|
use sqlx::Executor;
|
||||||
use tracing::error;
|
|
||||||
|
|
||||||
use crate::AppCtx;
|
use crate::AppCtx;
|
||||||
|
|
||||||
|
|
@ -190,28 +189,25 @@ pub async fn update_stats_api(ctx: AppCtx) -> anyhow::Result<()> {
|
||||||
let data = resp.json::<PrometheusResult>().await?;
|
let data = resp.json::<PrometheusResult>().await?;
|
||||||
|
|
||||||
let error_handler = || {
|
let error_handler = || {
|
||||||
error!("missing data at {}", $q);
|
anyhow::anyhow!("missing data at {}", $q)
|
||||||
};
|
};
|
||||||
|
|
||||||
data.data
|
data.data
|
||||||
.result
|
.result
|
||||||
.get(0)
|
.get(0)
|
||||||
.ok_or_else(error_handler)
|
.ok_or_else(error_handler)?
|
||||||
.unwrap()
|
|
||||||
.value
|
.value
|
||||||
.clone()
|
.clone()
|
||||||
.get(1)
|
.get(1)
|
||||||
.ok_or_else(error_handler)
|
.ok_or_else(error_handler)?
|
||||||
.unwrap()
|
|
||||||
.as_str()
|
.as_str()
|
||||||
.ok_or_else(error_handler)
|
.ok_or_else(error_handler)?
|
||||||
.unwrap()
|
|
||||||
.parse::<$t>()?
|
.parse::<$t>()?
|
||||||
}};
|
}};
|
||||||
($t:ty, $q:expr, $wrap:expr) => {{
|
($t:ty, $q:expr, $wrap:expr) => {{
|
||||||
let val = prom_instant_query!($t, $q);
|
let val = prom_instant_query!($t, $q);
|
||||||
let val = (val * $wrap).round() / $wrap;
|
let val = (val * $wrap).round() / $wrap;
|
||||||
format!("{:.2}", val).parse::<f64>().unwrap()
|
format!("{:.2}", val).parse::<f64>()?
|
||||||
}};
|
}};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue