aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/jobs/load-new-guix-revision.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix-data-service/jobs/load-new-guix-revision.scm')
-rw-r--r--guix-data-service/jobs/load-new-guix-revision.scm26
1 files changed, 17 insertions, 9 deletions
diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm
index f97c0a9..1412392 100644
--- a/guix-data-service/jobs/load-new-guix-revision.scm
+++ b/guix-data-service/jobs/load-new-guix-revision.scm
@@ -2128,15 +2128,23 @@ SELECT 1 FROM derivation_source_file_nars WHERE derivation_source_file_id = $1"
(commit commit)))
(guix-source
channel-derivations-by-system
- (channel->source-and-derivations-by-system
- conn
- channel-for-commit
- fetch-with-authentication?
- #:parallelism parallelism))
- (guix-revision-id
- (load-channel-instances utility-thread-channel
- git-repository-id commit
- channel-derivations-by-system)))
+ guix-revision-id
+ (retry-on-missing-store-item
+ (lambda ()
+ (let ((guix-source
+ channel-derivations-by-system
+ (channel->source-and-derivations-by-system
+ conn
+ channel-for-commit
+ fetch-with-authentication?
+ #:parallelism parallelism)))
+ (let ((guix-revision-id
+ (load-channel-instances utility-thread-channel
+ git-repository-id commit
+ channel-derivations-by-system)))
+ (values guix-source
+ channel-derivations-by-system
+ guix-revision-id)))))))
(let ((store-item
guix-derivation
(channel-derivations-by-system->guix-store-item