[snowpatch] [PATCH 4/8] Jenkins: Try again instead of panic if API call fails

Russell Currey ruscur at russell.cc
Fri Jul 20 21:57:24 AEST 2018


Signed-off-by: Russell Currey <ruscur at russell.cc>
---
 src/jenkins.rs | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/jenkins.rs b/src/jenkins.rs
index 0e7cdbc..987fae9 100644
--- a/src/jenkins.rs
+++ b/src/jenkins.rs
@@ -111,7 +111,14 @@ impl JenkinsBackend {
         let url = format!("{}api/json", base_url);
         let mut result_str = String::new();
         loop {
-            let mut resp = self.get_url(&url).expect("HTTP request error");
+            let mut resp = match self.get_url(&url) {
+                Ok(r) => r,
+                Err(e) => {
+                    warn!("Couldn't hit Jenkins API: {}", e);
+                    sleep(Duration::from_millis(JENKINS_POLLING_INTERVAL));
+                    continue;
+                }
+            };
 
             if resp.status().is_server_error() {
                 sleep(Duration::from_millis(JENKINS_POLLING_INTERVAL));
-- 
2.17.1



More information about the snowpatch mailing list