aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nar-herder/mirror.scm7
-rw-r--r--nar-herder/storage.scm14
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)