Tweak fetching narinfos

Currently I'm seeing failures due to guile-gnutls not supporting suspendable
ports (write_wait_fd), so batch the requested outputs to try and avoid this.
This commit is contained in:
Christopher Baines 2023-04-28 20:42:31 +02:00
parent 688f4cd79d
commit 8a19bcba13

View file

@ -22,6 +22,7 @@
#:use-module (ice-9 threads) #:use-module (ice-9 threads)
#:use-module (guix substitutes) #:use-module (guix substitutes)
#:use-module (guix narinfo) #:use-module (guix narinfo)
#:use-module (guix-data-service utils)
#:use-module (guix-data-service database) #:use-module (guix-data-service database)
#:use-module (guix-data-service model build-server) #:use-module (guix-data-service model build-server)
#:use-module (guix-data-service model git-branch) #:use-module (guix-data-service model git-branch)
@ -85,8 +86,11 @@
(simple-format #t "Querying ~A outputs\n" (simple-format #t "Querying ~A outputs\n"
(length outputs)) (length outputs))
(chunk-for-each!
(lambda (outputs-chunk)
(let ((narinfos (let ((narinfos
(lookup-narinfos (string-trim-right build-server-url #\/) outputs))) (lookup-narinfos (string-trim-right build-server-url #\/)
outputs-chunk)))
(simple-format #t "Got ~A narinfo files\n" (simple-format #t "Got ~A narinfo files\n"
(length narinfos)) (length narinfos))
@ -113,6 +117,8 @@
conn conn
build-server-id build-server-id
filtered-narinfos))))))) filtered-narinfos)))))))
2000
outputs))
(define (start-substitute-query-thread) (define (start-substitute-query-thread)
(call-with-new-thread (call-with-new-thread