diff options
Diffstat (limited to 'guix-build-coordinator/agent-messaging/http.scm')
-rw-r--r-- | guix-build-coordinator/agent-messaging/http.scm | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/guix-build-coordinator/agent-messaging/http.scm b/guix-build-coordinator/agent-messaging/http.scm index 217b2c1..c4cf59b 100644 --- a/guix-build-coordinator/agent-messaging/http.scm +++ b/guix-build-coordinator/agent-messaging/http.scm @@ -37,6 +37,8 @@ #:use-module (web request) #:use-module (web response) #:use-module (web uri) + #:use-module (gcrypt base16) + #:use-module (gcrypt hash) #:use-module (lzlib) #:use-module ((gnutls) #:select (gnutls-version)) #:use-module ((guix config) #:select (%guix-version)) @@ -277,6 +279,11 @@ (define file-size (stat:size (stat file))) + (define file-md5-hash-promise + (delay + (bytevector->base16-string + (file-hash (hash-algorithm md5) file)))) + (define (get-partial-upload-bytes) (let-values (((body response) (coordinator-http-request @@ -389,7 +396,14 @@ (eq? uploaded-bytes file-size))) (retry-on-error perform-upload #:times 100 - #:delay 40))) + #:delay 40 + #:error-hook + (lambda _ + (log 'DEBUG + "perform-upload " file + " (bytes: " file-size ", " + "md5: " (force file-md5-hash-promise) + ")"))))) args)) (define-method (submit-log-file |