Gracefully recovers from rdsys shutdown or lack of resources

This commit is contained in:
onyinyang 2023-12-20 19:04:13 -05:00
parent 9d4a293ee9
commit c1f6ab0b77
No known key found for this signature in database
GPG Key ID: 156A6435430C2036
2 changed files with 6 additions and 5 deletions

View File

@ -124,14 +124,16 @@ async fn rdsys_request(rtype: ResourceInfo, tx: mpsc::Sender<ResourceState>) {
let mut interval = interval(Duration::from_secs(5)); let mut interval = interval(Duration::from_secs(5));
loop { loop {
interval.tick().await; interval.tick().await;
let resources = request_resources( let resources = match request_resources(
rtype.endpoint.clone(), rtype.endpoint.clone(),
rtype.name.clone(), rtype.name.clone(),
rtype.token.clone(), rtype.token.clone(),
rtype.types.clone(), rtype.types.clone(),
) )
.await .await{
.unwrap(); Ok(resources)=> resources,
Err(e) => {println!("No resources received from rdsys: {:?}", e); continue},
};
tx.send(resources).await.unwrap(); tx.send(resources).await.unwrap();
} }
} }

View File

@ -284,8 +284,7 @@ pub async fn request_resources(
.header("Authorization", &auth_value) .header("Authorization", &auth_value)
.body(json) .body(json)
.send() .send()
.await .await?;
.unwrap();
match response.status() { match response.status() {
reqwest::StatusCode::OK => { reqwest::StatusCode::OK => {
fetched_resources = match response.json::<proto::ResourceState>().await { fetched_resources = match response.json::<proto::ResourceState>().await {