diff options
author | Christopher Baines <mail@cbaines.net> | 2021-12-15 00:26:34 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2021-12-15 00:26:34 +0000 |
commit | 631f9466cd91708c3b738e3cfb85be9f909cbbd0 (patch) | |
tree | 47069d2a05b31f2799d3dc17a999dda34e73efab | |
parent | ff809dcba6dd5da637a1a371dcf68b22bc9375ed (diff) | |
download | nar-herder-631f9466cd91708c3b738e3cfb85be9f909cbbd0.tar nar-herder-631f9466cd91708c3b738e3cfb85be9f909cbbd0.tar.gz |
Add some retrying around requests
-rw-r--r-- | nar-herder/mirror.scm | 7 | ||||
-rw-r--r-- | nar-herder/storage.scm | 14 |
2 files changed, 16 insertions, 5 deletions
diff --git a/nar-herder/mirror.scm b/nar-herder/mirror.scm index 7a062e1..a38d646 100644 --- a/nar-herder/mirror.scm +++ b/nar-herder/mirror.scm @@ -29,6 +29,7 @@ #:use-module (logging logger) #:use-module (json) #:use-module (guix narinfo) + #:use-module (nar-herder utils) #:use-module (nar-herder database) #:export (start-fetch-changes-thread)) @@ -58,7 +59,11 @@ (call-with-values (lambda () - (http-get uri #:decode-body? #f)) + (retry-on-error + (lambda () + (http-get uri #:decode-body? #f)) + #:times 3 + #:delay 15)) (lambda (response body) (if (= (response-code response) 200) (let* ((json-body (json-string->scm diff --git a/nar-herder/storage.scm b/nar-herder/storage.scm index 88f19ea..37f63de 100644 --- a/nar-herder/storage.scm +++ b/nar-herder/storage.scm @@ -142,7 +142,11 @@ ".narinfo/info")))) (call-with-values (lambda () - (http-get uri #:decode-body? #f)) + (retry-on-error + (lambda () + (http-get uri #:decode-body? #f)) + #:times 3 + #:delay 5)) (lambda (response body) (and (= (response-code response) 200) @@ -225,9 +229,11 @@ (call-with-values (lambda () - (http-get uri - #:decode-body? #f - #:streaming? #t)) + (retry-on-error + (lambda () + (http-get uri + #:decode-body? #f + #:streaming? #t)))) (lambda (response body) (unless (= (response-code response) 200) |