From 30e24683da243304a634e13c2b5774b9a4f1567c Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 16 May 2024 18:02:15 +0100 Subject: Queue writes since they seem to be delayed --- guix-qa-frontpage/database.scm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'guix-qa-frontpage') diff --git a/guix-qa-frontpage/database.scm b/guix-qa-frontpage/database.scm index 51c0255..c44d83a 100644 --- a/guix-qa-frontpage/database.scm +++ b/guix-qa-frontpage/database.scm @@ -36,7 +36,8 @@ #:use-module ((guix-build-coordinator utils fibers) #:select (retry-on-error make-worker-thread-channel - call-with-worker-thread)) + call-with-worker-thread + make-queueing-channel)) #:use-module (guix-qa-frontpage guix-data-service) #:export (setup-database @@ -62,7 +63,8 @@ database? (database-file database-file) (reader-thread-channel database-reader-thread-channel) - (writer-thread-channel database-writer-thread-channel) + (writer-thread-channel database-writer-thread-channel + set-database-writer-thread-channel!) (metrics-registry database-metrics-registry)) (define* (db-open database @@ -254,6 +256,13 @@ PRAGMA optimize;"))) #:delay 5)) (define (database-spawn-fibers database) + ;; Queue messages to the writer thread, so that they're handled in a first + ;; come first served manor + (set-database-writer-thread-channel! + database + (make-queueing-channel + (database-writer-thread-channel database))) + (spawn-fiber (lambda () (while #t -- cgit v1.2.3