diff options
Diffstat (limited to 'guix-data-service/jobs/load-new-guix-revision.scm')
-rw-r--r-- | guix-data-service/jobs/load-new-guix-revision.scm | 26 |
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 |