From 0184f1094278571654f3db83fe292d9a471838e2 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 6 Jul 2025 15:01:03 +0100 Subject: [PATCH] Limit the parallelism when running derivation-file-names->derivation-ids To focus on finishing some systems before starting the next. --- .../jobs/load-new-guix-revision.scm | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) 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))