aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/utils.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2024-03-15 23:33:46 +0000
committerChristopher Baines <mail@cbaines.net>2024-03-15 23:33:46 +0000
commitce08a51755914201c3730f5dbceb3c7da771e766 (patch)
treeedbb2cbcaca8342c0111ea3da11e585f66137e11 /guix-build-coordinator/utils.scm
parentb36ee4fd4cdcc94dd41f142b2058c8bbe032f497 (diff)
downloadbuild-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.scm7
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