Better handle errors when fetching builds by output

This commit is contained in:
Christopher Baines 2020-02-15 21:58:07 +00:00
parent 119fd801e1
commit cc370fae56

View file

@ -232,26 +232,41 @@ initial connection on which HTTP requests are sent."
derivation-output-paths-and-details-sets-ids) derivation-output-paths-and-details-sets-ids)
(lambda (data output) (lambda (data output)
(if data (if data
(let* ((derivation (catch #t
(assoc-ref data "derivation")) (lambda ()
(build-id (let* ((derivation
(ensure-build-exists (assoc-ref data "derivation"))
conn (build-id
build-server-id (ensure-build-exists
derivation conn
#:derivation-output-details-set-id build-server-id
(cdr derivation
(vhash-assoc output #:derivation-output-details-set-id
derivation-output-paths-and-details-sets-ids))))) (cdr
(insert-build-statuses-from-data (vhash-assoc output
conn derivation-output-paths-and-details-sets-ids)))))
build-server-id (insert-build-statuses-from-data
build-id conn
(assoc-ref data "build")) build-server-id
(if (verbose-output?) build-id
(simple-format #t "found build for: ~A (~A)\n" (assoc-ref data "build"))
output derivation) (if (verbose-output?)
(display "-"))) (simple-format #t "found build for: ~A (~A)\n"
output derivation)
(display "-"))))
(lambda (key . args)
(simple-format
(current-error-port)
"\nerror processing data for output: ~A\n"
output)
(simple-format (current-error-port)
"~A\n"
data)
(simple-format
(current-error-port)
"~A: ~A\n"
key
args)))
(if (verbose-output?) (if (verbose-output?)
(simple-format #t "no build found: ~A\n" output) (simple-format #t "no build found: ~A\n" output)
(display ".")))))) (display "."))))))