diff --git a/src/main.rs b/src/main.rs index 5a8de75..314de4f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -203,7 +203,7 @@ async fn main() -> Result<()> { let resolver = resolver.clone(); let discovery_queue = discovery_queue.clone(); async move { - if backfill::run( + match backfill::run( host, db, client, @@ -213,13 +213,21 @@ async fn main() -> Result<()> { discovery_queue, ) .await - .inspect(|_| info!("backfill done.")) - .inspect_err(|e| warn!(error = %e, "backfill exited"))? { - info!("backfill task idling"); - token.cancelled().await; + Ok(true) => { + info!("backfill complete; idling task"); + token.cancelled().await; + Ok(()) + } + Ok(false) => { + warn!("backfill ended without finishing, exiting"); + Ok(()) + } + Err(e) => { + warn!(error = %e, "backfill errored, exiting"); + Err(e) + } } - Ok(()) } });