state: Properly propagate errors when persisting state
This commit is contained in:
@ -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");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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")]
|
||||||
|
Reference in New Issue
Block a user