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.scm21
1 files changed, 12 insertions, 9 deletions
diff --git a/guix-build-coordinator/agent-messaging/http.scm b/guix-build-coordinator/agent-messaging/http.scm
index 0baa75b..33fb717 100644
--- a/guix-build-coordinator/agent-messaging/http.scm
+++ b/guix-build-coordinator/agent-messaging/http.scm
@@ -50,6 +50,7 @@
#:use-module (guix base64)
#:use-module (guix build utils)
#:use-module (guix-build-coordinator utils)
+ #:use-module (guix-build-coordinator utils timeout)
#:use-module (guix-build-coordinator agent-messaging abstract)
#:export (make-http-agent-interface
@@ -73,10 +74,10 @@
password)
(let* ((gnutls-ver (gnutls-version))
(guix-ver %guix-version))
- (simple-format (current-error-port)
- "(gnutls version: ~A, guix version: ~A)\n"
- gnutls-ver
- guix-ver))
+ (simple-format/safe (current-error-port)
+ "(gnutls version: ~A, guix version: ~A)\n"
+ gnutls-ver
+ guix-ver))
(make <http-agent-interface>
#:coordinator-uri coordinator-uri
@@ -204,7 +205,8 @@
response)))))
(retry-on-error (lambda ()
- (with-port-timeouts make-request))
+ (with-port-timeouts make-request
+ #:timeout 120))
#:times retry-times
#:delay 10
#:no-retry agent-error-from-coordinator?))
@@ -420,10 +422,11 @@
(lambda (uploaded-bytes)
(= uploaded-bytes file-size)))
(retry-on-error (lambda ()
- (with-throw-handler #t
- perform-upload
- (lambda _
- (backtrace))))
+ (with-exception-handler
+ (lambda (exn)
+ (backtrace)
+ (raise-exception exn))
+ perform-upload))
#:times 100
#:delay 60
#:error-hook