diff options
Diffstat (limited to 'guix-build-coordinator/agent-messaging/http.scm')
-rw-r--r-- | guix-build-coordinator/agent-messaging/http.scm | 21 |
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 |