aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--guix-build-coordinator/datastore/sqlite.scm14
2 files changed, 12 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index 4000209..5080576 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,6 +19,8 @@ pre-inst-env
.local.envrc
*.db
+*.db-shm
+*.db-wal
scripts/guix-build-coordinator
scripts/guix-build-coordinator-agent
diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm
index 76b691b..431f74c 100644
--- a/guix-build-coordinator/datastore/sqlite.scm
+++ b/guix-build-coordinator/datastore/sqlite.scm
@@ -49,10 +49,16 @@
(slot-set!
datastore
'worker-thread-channel
- (make-worker-thread-channel (lambda ()
- (list (db-open database-file)))
- #:parallelism
- (min (current-processor-count) 4)))
+ (make-worker-thread-channel
+ (lambda ()
+ (let ((db
+ (db-open database-file)))
+ (sqlite-exec db "PRAGMA journal_mode=WAL;")
+ (sqlite-exec db "PRAGMA busy_timeout = 5000;")
+ (list db)))
+
+ #:parallelism
+ (min (current-processor-count) 4)))
datastore))