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

Reply via email to