From 121943afa73408f23815d2e3f527e0553d876cd7 Mon Sep 17 00:00:00 2001 From: mirsal Date: Thu, 15 May 2025 21:54:30 +0000 Subject: [PATCH] state: Properly propagate errors when persisting state --- src/main.rs | 4 +++- src/state.rs | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index fa2f8ed..f8aa07b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -121,7 +121,9 @@ async fn main() -> anyhow::Result<()> { if state_ts != max_ts { info!("updating state from {} to {}", state_ts, max_ts); - state_db.set(feed.uri.as_str(), max_ts).await; + state_db.set(feed.uri.as_str(), max_ts).await.unwrap_or_else(|e| { + error!("Failed to set state: {e:?}. continuing..."); + }); debug!("State update complete"); } diff --git a/src/state.rs b/src/state.rs index 79df30a..53be325 100644 --- a/src/state.rs +++ b/src/state.rs @@ -59,14 +59,14 @@ impl FeedReaderStateDb { &self, uri: &str, dt: DateTime - ) -> () { + ) -> Result<(), Box> { { debug!("Updating feed reader state"); self.lock_state().insert(uri.into(), dt.timestamp().into()); } - self.persist().await.unwrap(); + self.persist().await } #[tracing::instrument(ret, level="debug")]