state: Properly propagate errors when persisting state

This commit is contained in:
2025-05-15 21:54:30 +00:00
parent f5edc44717
commit 121943afa7
2 changed files with 5 additions and 3 deletions

View File

@ -121,7 +121,9 @@ async fn main() -> anyhow::Result<()> {
if state_ts != max_ts { if state_ts != max_ts {
info!("updating state from {} to {}", 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"); debug!("State update complete");
} }

View File

@ -59,14 +59,14 @@ impl FeedReaderStateDb {
&self, &self,
uri: &str, uri: &str,
dt: DateTime<Utc> dt: DateTime<Utc>
) -> () { ) -> Result<(), Box<dyn Error>> {
{ {
debug!("Updating feed reader state"); debug!("Updating feed reader state");
self.lock_state().insert(uri.into(), dt.timestamp().into()); self.lock_state().insert(uri.into(), dt.timestamp().into());
} }
self.persist().await.unwrap(); self.persist().await
} }
#[tracing::instrument(ret, level="debug")] #[tracing::instrument(ret, level="debug")]