From 252981821aab294668deb6ae98db96e4a70eac75 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 25 May 2025 14:00:48 +0100 Subject: Update Guile Knots --- guix-dev.scm | 37 +++++++++++++++++++++++++++++++++++-- guix-qa-frontpage/database.scm | 13 +++++-------- 2 files changed, 40 insertions(+), 10 deletions(-) diff --git a/guix-dev.scm b/guix-dev.scm index e275130..bb903b2 100644 --- a/guix-dev.scm +++ b/guix-dev.scm @@ -42,6 +42,39 @@ (gnu packages ruby) (srfi srfi-1)) +(define guile-knots + (let ((commit "016f37f108ca19da3664516baa97e907aa972b90") + (revision "1")) + (package + (name "guile-knots") + (version (git-version "0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.cbaines.net/git/guile/knots") + (commit commit))) + (sha256 + (base32 + "12j3l9p4acf47cjpfzm41ddxyxs1v6vlfa2vrymdd4gdday62xfn")) + (file-name (string-append name "-" version "-checkout")))) + (build-system gnu-build-system) + (native-inputs + (list pkg-config + autoconf + automake + guile-next + guile-lib + guile-fibers-next)) + (inputs + (list guile-next)) + (propagated-inputs + (list guile-fibers-next)) + (home-page "https://git.cbaines.net/guile/knots") + (synopsis "Patterns and functionality to use with Guile Fibers") + (description + "") + (license license:gpl3+)))) + (package (name "guix-qa-frontpage") (version "0.0.0") @@ -51,7 +84,7 @@ (list guix guix-data-service guile-json-4 - guile-fibers-1.1 + guile-fibers-next guile-knots guile-kolam guile-git @@ -59,7 +92,7 @@ guile-readline guile-prometheus guix-build-coordinator - guile-3.0-latest)) + guile-next)) (native-inputs (list autoconf automake diff --git a/guix-qa-frontpage/database.scm b/guix-qa-frontpage/database.scm index 956b58a..5e74183 100644 --- a/guix-qa-frontpage/database.scm +++ b/guix-qa-frontpage/database.scm @@ -148,7 +148,7 @@ CREATE TABLE IF NOT EXISTS create_branch_for_issue_logs ( (sqlite-close db)) (let ((reader-thread-pool - (make-thread-pool + (make-fixed-size-thread-pool (min (max (current-processor-count) 32) 128) @@ -180,12 +180,9 @@ CREATE TABLE IF NOT EXISTS create_branch_for_issue_logs ( (format (current-error-port) "warning: database read delayed by ~1,2f seconds~%" - seconds-delayed)))) - #:log-exception? - (lambda (exn) - (not (guix-data-service-error? exn))))) + seconds-delayed)))))) (writer-thread-pool - (make-thread-pool + (make-fixed-size-thread-pool ;; SQLite doesn't support parallel writes 1 #:thread-initializer @@ -225,7 +222,7 @@ CREATE TABLE IF NOT EXISTS create_branch_for_issue_logs ( (make-database database-file reader-thread-pool writer-thread-pool - (thread-pool-channel writer-thread-pool) + (fixed-size-thread-pool-channel writer-thread-pool) metrics-registry))) (define (db-optimize db db-filename) @@ -265,7 +262,7 @@ PRAGMA optimize;"))) (set-database-writer-thread-set-channel! database (spawn-queueing-fiber - (thread-pool-channel + (fixed-size-thread-pool-channel (database-writer-thread-set database)))) (spawn-fiber -- cgit v1.2.3