cbaines pushed a commit to branch trunk
in repository data-service.
commit 9fa059af61ffc67ed1f7389312393ad6f45515d7
Author: Christopher Baines <[email protected]>
AuthorDate: Mon Mar 10 19:28:30 2025 +0000
Use chunk-for-each!
As this might use less memory than chunk!
---
guix-data-service/jobs/load-new-guix-revision.scm | 28 +++++++++++++----------
1 file changed, 16 insertions(+), 12 deletions(-)
diff --git a/guix-data-service/jobs/load-new-guix-revision.scm
b/guix-data-service/jobs/load-new-guix-revision.scm
index c61eed7..cbd6554 100644
--- a/guix-data-service/jobs/load-new-guix-revision.scm
+++ b/guix-data-service/jobs/load-new-guix-revision.scm
@@ -994,7 +994,7 @@
derivations-count (length missing-file-names))
(unless (null? missing-file-names)
- (for-each
+ (chunk-for-each!
(lambda (chunk)
(for-each
(match-lambda
@@ -1003,7 +1003,8 @@
file-name
(string->number id))))
(exec-query conn (select-existing-derivations chunk))))
- (chunk! missing-file-names 1000)))))
+ 1000
+ missing-file-names))))
(define* (derivations-insert-sources postgresql-connection-pool
call-with-utility-thread
@@ -1208,7 +1209,7 @@ SELECT 1 FROM derivation_source_file_nars WHERE
derivation_source_file_id = $1"
derivations)))
(unless (null? input-derivations)
;; Ensure all the input derivations exist
- (for-each
+ (chunk-for-each!
(lambda (chunk)
(insert-missing-derivations
postgresql-connection-pool
@@ -1216,7 +1217,8 @@ SELECT 1 FROM derivation_source_file_nars WHERE
derivation_source_file_id = $1"
derivation-ids-hash-table
chunk
#:log-tag log-tag))
- (chunk! input-derivations 1000))))))
+ 1000
+ input-derivations)))))
(simple-format
(current-error-port)
@@ -1285,14 +1287,15 @@ SELECT 1 FROM derivation_source_file_nars WHERE
derivation_source_file_id = $1"
(derivation-inputs drv))))
(unless (null? input-derivations)
;; Ensure all the input derivations exist
- (for-each
+ (chunk-for-each!
(lambda (chunk)
(insert-missing-derivations
postgresql-connection-pool
call-with-utility-thread
derivation-ids-hash-table
chunk))
- (chunk! input-derivations 1000))))))
+ 1000
+ input-derivations 1000)))))
(fix-derivation-inputs conn drv))))))))
#:hz 0
@@ -1333,23 +1336,24 @@ SELECT 1 FROM derivation_source_file_nars WHERE
derivation_source_file_id = $1"
(length missing-derivation-filenames)
log-tag)
- (let ((chunks (chunk! missing-derivation-filenames 1000)))
- (for-each
- (lambda (i missing-derivation-file-names-chunk)
+ (let ((chunk-counter 0))
+ (chunk-for-each!
+ (lambda (missing-derivation-file-names-chunk)
(let ((missing-derivations-chunk
(read-derivations/fiberized
missing-derivation-file-names-chunk)))
(simple-format
#t "debug: derivation-file-names->derivation-ids: processing
chunk ~A (~A)\n"
- i
+ chunk-counter
log-tag)
+ (set! chunk-counter (+ 1 chunk-counter))
(insert-missing-derivations postgresql-connection-pool
call-with-utility-thread
derivation-ids-hash-table
missing-derivations-chunk
#:log-tag log-tag)))
- (iota (length chunks))
- chunks))
+ 1000
+ missing-derivation-filenames))
(let ((all-ids
(vector-map