Compare commits

...

2 Commits

Author SHA1 Message Date
a66517d24f state: Remove useless clone() 2025-05-15 22:01:47 +00:00
121943afa7 state: Properly propagate errors when persisting state 2025-05-15 21:54:30 +00:00
2 changed files with 6 additions and 4 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

@ -45,7 +45,7 @@ impl FeedReaderStateDb {
filename: String::from(filename) filename: String::from(filename)
}); });
Ok(db.clone()) Ok(db)
} }
fn lock_state(&self) -> MutexGuard<FeedReaderState> { fn lock_state(&self) -> MutexGuard<FeedReaderState> {
@ -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")]