diff options
author | Christopher Baines <mail@cbaines.net> | 2020-02-28 20:58:21 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-02-28 20:58:21 +0000 |
commit | 65f2f21d3acad30caf490e69c46f0c73e74c324c (patch) | |
tree | f67f6b73bc92911665374c7dbbf2fdcbe02088ac /guix-data-service | |
parent | 185ba3685379c5f047c0f0804226e4f9c80d6d46 (diff) | |
download | data-service-65f2f21d3acad30caf490e69c46f0c73e74c324c.tar data-service-65f2f21d3acad30caf490e69c46f0c73e74c324c.tar.gz |
Support customising the latest branch revision max processes
This makes it possible to set a higher or lower value depending on what you
want.
Diffstat (limited to 'guix-data-service')
-rw-r--r-- | guix-data-service/jobs.scm | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/guix-data-service/jobs.scm b/guix-data-service/jobs.scm index 31440ba..d770d34 100644 --- a/guix-data-service/jobs.scm +++ b/guix-data-service/jobs.scm @@ -24,7 +24,8 @@ default-max-processes)) -(define* (process-jobs conn #:key max-processes) +(define* (process-jobs conn #:key max-processes + latest-branch-revision-max-processes) (define (fetch-new-jobs) (fetch-unlocked-jobs conn)) @@ -44,7 +45,9 @@ (process-jobs-concurrently fetch-new-jobs process-job handle-job-failure - #:max-processes max-processes)) + #:max-processes max-processes + #:priority-max-processes + latest-branch-revision-max-processes)) (define default-max-processes (max (round (/ (current-processor-count) @@ -55,12 +58,15 @@ (* (* 60 60) ;; 1 hour in seconds 24)) -(define* (process-jobs-concurrently fetch-new-jobs - process-job - handle-job-failure - #:key (max-processes - default-max-processes) - (timeout default-timeout)) +(define* (process-jobs-concurrently + fetch-new-jobs + process-job + handle-job-failure + #:key + (max-processes default-max-processes) + (priority-max-processes (* 2 max-processes)) + (timeout default-timeout)) + (define processes (make-hash-table)) @@ -156,9 +162,7 @@ (hash-count (const #t) processes))) (when (< current-processes (if priority? - ;; For priority jobs, burst up to twice the number - ;; of max processes - (* 2 max-processes) + priority-max-processes max-processes)) (fork-and-process-job (list job-id)))))) jobs))) |