diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm index 3bb99a6..6ef6d63 100644 --- a/guix-data-service/jobs/load-new-guix-revision.scm +++ b/guix-data-service/jobs/load-new-guix-revision.scm @@ -2631,21 +2631,25 @@ WHERE builder != 'builtin:download' (loop (+ start-index chunk-size)))))) derivations-vector))) + (define derivation-file-names->derivation-ids/parallelism-limiter + (make-parallelism-limiter 2)) (define (process-system-and-target system target) (with-time-logging (simple-format #f "processing derivations for ~A" (cons system target)) (let* ((derivations-vector (get-derivations system target)) (derivation-ids - (with-time-logging - (simple-format #f "derivation-file-names->derivation-ids (~A ~A)" - system target) - (derivation-file-names->derivation-ids - postgresql-connection-pool - call-with-utility-thread - read-derivations/serialised - derivation-ids-hash-table - derivations-vector - #:log-tag (simple-format #f "~A:~A" system target)))) + (with-parallelism-limiter + derivation-file-names->derivation-ids/parallelism-limiter + (with-time-logging + (simple-format #f "derivation-file-names->derivation-ids (~A ~A)" + system target) + (derivation-file-names->derivation-ids + postgresql-connection-pool + call-with-utility-thread + read-derivations/serialised + derivation-ids-hash-table + derivations-vector + #:log-tag (simple-format #f "~A:~A" system target))))) (guix-revision-id (fibers-force guix-revision-id-promise)) (package-ids (fibers-force package-ids-promise))