diff options
author | Christopher Baines <mail@cbaines.net> | 2024-03-15 23:33:46 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2024-03-15 23:33:46 +0000 |
commit | ce08a51755914201c3730f5dbceb3c7da771e766 (patch) | |
tree | edbb2cbcaca8342c0111ea3da11e585f66137e11 /guix-build-coordinator/utils.scm | |
parent | b36ee4fd4cdcc94dd41f142b2058c8bbe032f497 (diff) | |
download | build-coordinator-ce08a51755914201c3730f5dbceb3c7da771e766.tar build-coordinator-ce08a51755914201c3730f5dbceb3c7da771e766.tar.gz |
Add a definition of retry-on-error which uses the fibers sleep
Diffstat (limited to 'guix-build-coordinator/utils.scm')
-rw-r--r-- | guix-build-coordinator/utils.scm | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/guix-build-coordinator/utils.scm b/guix-build-coordinator/utils.scm index bef9937..74b4539 100644 --- a/guix-build-coordinator/utils.scm +++ b/guix-build-coordinator/utils.scm @@ -632,7 +632,8 @@ References: ~a~%" compressed-size))) compressed-files)))) -(define* (retry-on-error f #:key times delay ignore no-retry error-hook) +(define* (retry-on-error f #:key times delay ignore no-retry error-hook + sleep-impl) (let loop ((attempt 1)) (match (with-exception-handler (lambda (exn) @@ -685,7 +686,7 @@ References: ~a~%" delay) (when error-hook (error-hook attempt exn)) - (sleep delay) + (sleep-impl delay) (simple-format (current-error-port) "running last retry of ~A after ~A failed attempts\n" @@ -703,7 +704,7 @@ References: ~a~%" delay) (when error-hook (error-hook attempt exn)) - (sleep delay) + (sleep-impl delay) (loop (+ 1 attempt)))))))) (define* (s3-list-objects s3-bucket prefix |