From c1f6ab0b77d2f9a9f82c48100da254e8d0389b31 Mon Sep 17 00:00:00 2001 From: onyinyang Date: Wed, 20 Dec 2023 19:04:13 -0500 Subject: [PATCH] Gracefully recovers from rdsys shutdown or lack of resources --- crates/lox-distributor/src/main.rs | 8 +++++--- crates/rdsys-backend-api/src/lib.rs | 3 +-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/crates/lox-distributor/src/main.rs b/crates/lox-distributor/src/main.rs index 289540a..acd912c 100644 --- a/crates/lox-distributor/src/main.rs +++ b/crates/lox-distributor/src/main.rs @@ -124,14 +124,16 @@ async fn rdsys_request(rtype: ResourceInfo, tx: mpsc::Sender) { let mut interval = interval(Duration::from_secs(5)); loop { interval.tick().await; - let resources = request_resources( + let resources = match request_resources( rtype.endpoint.clone(), rtype.name.clone(), rtype.token.clone(), rtype.types.clone(), ) - .await - .unwrap(); + .await{ + Ok(resources)=> resources, + Err(e) => {println!("No resources received from rdsys: {:?}", e); continue}, + }; tx.send(resources).await.unwrap(); } } diff --git a/crates/rdsys-backend-api/src/lib.rs b/crates/rdsys-backend-api/src/lib.rs index 51e2bdc..3000fde 100644 --- a/crates/rdsys-backend-api/src/lib.rs +++ b/crates/rdsys-backend-api/src/lib.rs @@ -284,8 +284,7 @@ pub async fn request_resources( .header("Authorization", &auth_value) .body(json) .send() - .await - .unwrap(); + .await?; match response.status() { reqwest::StatusCode::OK => { fetched_resources = match response.json::().await {