aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/agent-messaging/http.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix-build-coordinator/agent-messaging/http.scm')
-rw-r--r--guix-build-coordinator/agent-messaging/http.scm40
1 files changed, 24 insertions, 16 deletions
diff --git a/guix-build-coordinator/agent-messaging/http.scm b/guix-build-coordinator/agent-messaging/http.scm
index 4b569f1..a4be0b5 100644
--- a/guix-build-coordinator/agent-messaging/http.scm
+++ b/guix-build-coordinator/agent-messaging/http.scm
@@ -498,14 +498,18 @@ port. Also, the port used can be changed by passing the --port option.\n"
coordinator-uri
(string-append "/build/" build-id "/output/" output-name)))
- (call-with-streaming-http-request
- uri
- (lambda (port)
- (call-with-lzip-output-port port
- (lambda (port)
- (write-file file port))
- #:level 9))
- #:headers `((Authorization . ,auth-value))))
+ (retry-on-error
+ (lambda ()
+ (call-with-streaming-http-request
+ uri
+ (lambda (port)
+ (call-with-lzip-output-port port
+ (lambda (port)
+ (write-file file port))
+ #:level 9))
+ #:headers `((Authorization . ,auth-value))))
+ #:times 3
+ #:delay 30))
(define (submit-log-file coordinator-uri agent-uuid password
build-id file)
@@ -528,14 +532,18 @@ port. Also, the port used can be changed by passing the --port option.\n"
coordinator-uri
(string-append "/build/" build-id "/log/" format)))
- (call-with-streaming-http-request
- uri
- (lambda (request-port)
- (call-with-input-file file
- (lambda (file-port)
- (dump-port file-port request-port))
- #:binary #t))
- #:headers `((Authorization . ,auth-value))))
+ (retry-on-error
+ (lambda ()
+ (call-with-streaming-http-request
+ uri
+ (lambda (request-port)
+ (call-with-input-file file
+ (lambda (file-port)
+ (dump-port file-port request-port))
+ #:binary #t))
+ #:headers `((Authorization . ,auth-value))))
+ #:times 3
+ #:delay 30))
(define (submit-build-result coordinator-uri agent-uuid password
build-id result)