From f6eadb0b1678b3437ed21862955f52dde7bd0982 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Tue, 20 Aug 2024 09:49:41 +0100 Subject: [PATCH] Make the free space requirement configurable --- guix-data-service/jobs.scm | 6 ++++-- scripts/guix-data-service-process-jobs.in | 13 ++++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/guix-data-service/jobs.scm b/guix-data-service/jobs.scm index 71d22ef..eb9bfa8 100644 --- a/guix-data-service/jobs.scm +++ b/guix-data-service/jobs.scm @@ -128,10 +128,12 @@ guix-data-service: error: missing log line: ~A latest-branch-revision-max-processes skip-system-tests? extra-inferior-environment-variables - per-job-parallelism) + per-job-parallelism + (free-space-requirement + (* 2 (expt 2 30)))) ; 2G (define (fetch-new-jobs) (let ((free-space (free-disk-space "/gnu/store"))) - (if (< free-space (* 2 (expt 2 30))) ; 2G + (if (< free-space free-space-requirement) (begin (simple-format (current-error-port) diff --git a/scripts/guix-data-service-process-jobs.in b/scripts/guix-data-service-process-jobs.in index cbe92f2..0f7af73 100644 --- a/scripts/guix-data-service-process-jobs.in +++ b/scripts/guix-data-service-process-jobs.in @@ -55,6 +55,11 @@ (lambda (opt name arg result) (alist-cons 'inferior-environment-variable (string-split arg #\=) + result))) + (option '("free-space-requirement") #t #f + (lambda (opt name arg result) + (alist-cons 'free-space-requirement + (string->number arg) result))))) (define %default-options @@ -109,7 +114,9 @@ (_ #f)) opts) #:per-job-parallelism - (assq-ref opts 'per-job-parallelism))) - (lambda _ - (backtrace)))) + (assq-ref opts 'per-job-parallelism) + #:free-space-requirement + (assq-ref opts 'free-space-requirement))) + (lambda _ + (backtrace)))) #:unwind? #t))))