services: guix-build-coordinator: Add max-1min-load-average option.
To the agent configuration. * gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): New field, max-1min-load-average. (guix-build-coordinator-agent-configuration-max-1min-load-average): New procedure. (guix-build-coordinator-agent-shepherd-services): If set, include the max-1min-load-average in the agent arguments.
This commit is contained in:
		
							parent
							
								
									44ae570fba
								
							
						
					
					
						commit
						e2ab6fb0dd
					
				
					 2 changed files with 18 additions and 0 deletions
				
			
		| 
						 | 
					@ -31155,6 +31155,15 @@ will use the current system it's running on as the default.
 | 
				
			||||||
@item @code{max-parallel-builds} (default: @code{1})
 | 
					@item @code{max-parallel-builds} (default: @code{1})
 | 
				
			||||||
The number of builds to perform in parallel.
 | 
					The number of builds to perform in parallel.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item @code{max-1min-load-average} (default: @code{#f})
 | 
				
			||||||
 | 
					Load average value to look at when considering starting new builds, if
 | 
				
			||||||
 | 
					the 1 minute load average exceeds this value, the agent will wait before
 | 
				
			||||||
 | 
					starting new builds.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This will be unspecified if the value is @code{#f}, and the agent will
 | 
				
			||||||
 | 
					use the number of cores reported by the system as the max 1 minute load
 | 
				
			||||||
 | 
					average.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@item @code{derivation-substitute-urls} (default: @code{#f})
 | 
					@item @code{derivation-substitute-urls} (default: @code{#f})
 | 
				
			||||||
URLs from which to attempt to fetch substitutes for derivations, if the
 | 
					URLs from which to attempt to fetch substitutes for derivations, if the
 | 
				
			||||||
derivations aren't already available.
 | 
					derivations aren't already available.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -58,6 +58,7 @@
 | 
				
			||||||
            guix-build-coordinator-agent-configuration-authentication
 | 
					            guix-build-coordinator-agent-configuration-authentication
 | 
				
			||||||
            guix-build-coordinator-agent-configuration-systems
 | 
					            guix-build-coordinator-agent-configuration-systems
 | 
				
			||||||
            guix-build-coordinator-agent-configuration-max-parallel-builds
 | 
					            guix-build-coordinator-agent-configuration-max-parallel-builds
 | 
				
			||||||
 | 
					            guix-build-coordinator-agent-configuration-max-1min-load-average
 | 
				
			||||||
            guix-build-coordinator-agent-configuration-derivation-substitute-urls
 | 
					            guix-build-coordinator-agent-configuration-derivation-substitute-urls
 | 
				
			||||||
            guix-build-coordinator-agent-configuration-non-derivation-substitute-urls
 | 
					            guix-build-coordinator-agent-configuration-non-derivation-substitute-urls
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -156,6 +157,9 @@
 | 
				
			||||||
  (max-parallel-builds
 | 
					  (max-parallel-builds
 | 
				
			||||||
   guix-build-coordinator-agent-configuration-max-parallel-builds
 | 
					   guix-build-coordinator-agent-configuration-max-parallel-builds
 | 
				
			||||||
   (default 1))
 | 
					   (default 1))
 | 
				
			||||||
 | 
					  (max-1min-load-average
 | 
				
			||||||
 | 
					   guix-build-coordinator-agent-configuration-max-1min-load-average
 | 
				
			||||||
 | 
					   (default #f))
 | 
				
			||||||
  (derivation-substitute-urls
 | 
					  (derivation-substitute-urls
 | 
				
			||||||
   guix-build-coordinator-agent-configuration-derivation-substitute-urls
 | 
					   guix-build-coordinator-agent-configuration-derivation-substitute-urls
 | 
				
			||||||
   (default #f))
 | 
					   (default #f))
 | 
				
			||||||
| 
						 | 
					@ -370,6 +374,7 @@
 | 
				
			||||||
(define (guix-build-coordinator-agent-shepherd-services config)
 | 
					(define (guix-build-coordinator-agent-shepherd-services config)
 | 
				
			||||||
  (match-record config <guix-build-coordinator-agent-configuration>
 | 
					  (match-record config <guix-build-coordinator-agent-configuration>
 | 
				
			||||||
    (package user coordinator authentication max-parallel-builds
 | 
					    (package user coordinator authentication max-parallel-builds
 | 
				
			||||||
 | 
					             max-1min-load-average
 | 
				
			||||||
             derivation-substitute-urls non-derivation-substitute-urls
 | 
					             derivation-substitute-urls non-derivation-substitute-urls
 | 
				
			||||||
             systems)
 | 
					             systems)
 | 
				
			||||||
    (list
 | 
					    (list
 | 
				
			||||||
| 
						 | 
					@ -402,6 +407,10 @@
 | 
				
			||||||
                                                token-file))))
 | 
					                                                token-file))))
 | 
				
			||||||
                      #$(simple-format #f "--max-parallel-builds=~A"
 | 
					                      #$(simple-format #f "--max-parallel-builds=~A"
 | 
				
			||||||
                                       max-parallel-builds)
 | 
					                                       max-parallel-builds)
 | 
				
			||||||
 | 
					                      #$@(if max-1min-load-average
 | 
				
			||||||
 | 
					                             #~(#$(simple-format #f "--max-1min-load-average=~A"
 | 
				
			||||||
 | 
					                                                 max-1min-load-average))
 | 
				
			||||||
 | 
					                             #~())
 | 
				
			||||||
                      #$@(if derivation-substitute-urls
 | 
					                      #$@(if derivation-substitute-urls
 | 
				
			||||||
                             #~(#$(string-append
 | 
					                             #~(#$(string-append
 | 
				
			||||||
                                   "--derivation-substitute-urls="
 | 
					                                   "--derivation-substitute-urls="
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue