aboutsummaryrefslogtreecommitdiff
path: root/bffe.scm
diff options
context:
space:
mode:
Diffstat (limited to 'bffe.scm')
-rw-r--r--bffe.scm50
1 files changed, 28 insertions, 22 deletions
diff --git a/bffe.scm b/bffe.scm
index 5b3d428..0c8f58c 100644
--- a/bffe.scm
+++ b/bffe.scm
@@ -17,6 +17,7 @@
;;; <http://www.gnu.org/licenses/>.
(define-module (bffe)
+ #:use-module (srfi srfi-1)
#:use-module (ice-9 format)
#:use-module (oop goops)
#:use-module (prometheus)
@@ -26,8 +27,7 @@
#:use-module (fibers scheduler)
#:use-module (fibers channels)
#:use-module (fibers conditions)
- #:use-module ((guix-build-coordinator utils fibers)
- #:select (call-with-sigint))
+ #:use-module (knots)
#:use-module (bffe server)
#:use-module (bffe manage-builds)
#:export (run-bffe-service))
@@ -45,11 +45,14 @@
(port-log (make <port-log>
#:port (current-output-port)
#:formatter
- (lambda (lvl time str)
+ ;; In guile-lib v0.2.8 onwards, the formatter is
+ ;; called with more arguments
+ (lambda args ; lvl, time, str
(format #f "~a (~5a): ~a~%"
- (strftime "%F %H:%M:%S" (localtime time))
- lvl
- str)))))
+ (strftime "%F %H:%M:%S" (localtime
+ (second args)))
+ (first args)
+ (third args))))))
(setvbuf (current-output-port) 'line)
@@ -57,20 +60,23 @@
(open-log! lgr)
(set-default-logger! lgr)
- (let ((finished? (make-condition)))
- (call-with-sigint
- (lambda ()
- (run-fibers
- (lambda ()
- (for-each start-submit-builds-fibers
- build)
+ (with-fluids ((%file-port-name-canonicalization 'none))
+ (let ((finished? (make-condition)))
+ (call-with-sigint
+ (lambda ()
+ (run-fibers
+ (lambda ()
+ (for-each
+ (lambda (spec)
+ (start-submit-builds-fibers metrics-registry spec))
+ build)
- (when web-server-args
- (apply start-bffe-web-server
- `(,@web-server-args
- #:pid-file ,pid-file
- #:metrics-registry ,metrics-registry)))
- (wait finished?))
- #:hz 0
- #:parallelism 1))
- finished?))))
+ (when web-server-args
+ (apply start-bffe-web-server
+ `(,@web-server-args
+ #:pid-file ,pid-file
+ #:metrics-registry ,metrics-registry)))
+ (wait finished?))
+ #:hz 0
+ #:parallelism 1))
+ finished?)))))