Parallelise inserting derivation counts
This commit is contained in:
parent
6ce51e8880
commit
50127de12a
1 changed files with 33 additions and 26 deletions
|
|
@ -2882,16 +2882,15 @@ SKIP LOCKED")
|
||||||
|
|
||||||
(when result
|
(when result
|
||||||
(fibers-parallel
|
(fibers-parallel
|
||||||
|
(let ((revision-id
|
||||||
|
system-ids-and-targets
|
||||||
(with-postgresql-connection
|
(with-postgresql-connection
|
||||||
(simple-format #f "post load-new-guix-revision ~A counts" id)
|
(simple-format #f "post load-new-guix-revision ~A counts" id)
|
||||||
(lambda (conn)
|
(lambda (conn)
|
||||||
(let ((revision-id
|
(let ((revision-id
|
||||||
(guix-revision-id-for-job conn id)))
|
(guix-revision-id-for-job conn id)))
|
||||||
(with-time-logging
|
(values
|
||||||
(simple-format
|
revision-id
|
||||||
#f "inserting guix_revision_package_derivation_distribution_counts for revision ~A"
|
|
||||||
revision-id)
|
|
||||||
(let ((system-ids-and-targets
|
|
||||||
(exec-query
|
(exec-query
|
||||||
conn
|
conn
|
||||||
"
|
"
|
||||||
|
|
@ -2900,20 +2899,28 @@ FROM package_derivations
|
||||||
INNER JOIN guix_revision_package_derivations
|
INNER JOIN guix_revision_package_derivations
|
||||||
ON package_derivations.id = guix_revision_package_derivations.package_derivation_id
|
ON package_derivations.id = guix_revision_package_derivations.package_derivation_id
|
||||||
WHERE revision_id = $1"
|
WHERE revision_id = $1"
|
||||||
(list revision-id))))
|
(list revision-id))))))))
|
||||||
|
|
||||||
|
(with-time-logging
|
||||||
|
(simple-format
|
||||||
|
#f "inserting guix_revision_package_derivation_distribution_counts for revision ~A"
|
||||||
|
revision-id)
|
||||||
|
(fibers-batch-for-each
|
||||||
|
(match-lambda
|
||||||
|
((system-id target)
|
||||||
|
(with-postgresql-connection
|
||||||
|
(simple-format #f "post load-new-guix-revision ~A counts" id)
|
||||||
|
(lambda (conn)
|
||||||
(with-postgresql-transaction
|
(with-postgresql-transaction
|
||||||
conn
|
conn
|
||||||
(lambda (conn)
|
(lambda (conn)
|
||||||
(for-each
|
|
||||||
(match-lambda
|
|
||||||
((system-id target)
|
|
||||||
(insert-guix-revision-package-derivation-distribution-counts
|
(insert-guix-revision-package-derivation-distribution-counts
|
||||||
conn
|
conn
|
||||||
revision-id
|
revision-id
|
||||||
system-id
|
system-id
|
||||||
target)))
|
target)))))))
|
||||||
system-ids-and-targets))))))))
|
parallelism
|
||||||
|
system-ids-and-targets)))
|
||||||
|
|
||||||
(with-postgresql-connection
|
(with-postgresql-connection
|
||||||
(simple-format #f "post load-new-guix-revision ~A" id)
|
(simple-format #f "post load-new-guix-revision ~A" id)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue