From ba789d4b3f3b833ad6f726a92f5e8e98f2a644ed Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 28 Oct 2019 07:56:51 +0000 Subject: Support publishing evaluation events * src/cuirass/database.scm (db-add-evaluation): Record the creation of new evaluations as events. (db-set-evaluation-done): Record when evaluations finish as an event. * src/cuirass/http.scm (url-handler): Add a new /api/evaluation-events page. --- src/cuirass/database.scm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/cuirass/database.scm b/src/cuirass/database.scm index 9cd2e8f..ab6a4c7 100644 --- a/src/cuirass/database.scm +++ b/src/cuirass/database.scm @@ -412,7 +412,12 @@ VALUES (" spec-name ", true);") (if (null? new-checkouts) (begin (sqlite-exec db "ROLLBACK;") #f) - (begin (sqlite-exec db "COMMIT;") + (begin (db-add-event 'evaluation + (time-second (current-time time-utc)) + `((#:evaluation . ,eval-id) + (#:specification . ,spec-name) + (#:in_progress . #t))) + (sqlite-exec db "COMMIT;") eval-id))))) (define (db-set-evaluations-done) @@ -422,7 +427,11 @@ VALUES (" spec-name ", true);") (define (db-set-evaluation-done eval-id) (with-db-critical-section db (sqlite-exec db "UPDATE Evaluations SET in_progress = false -WHERE id = " eval-id ";"))) +WHERE id = " eval-id ";") + (db-add-event 'evaluation + (time-second (current-time time-utc)) + `((#:evaluation . ,eval-id) + (#:in_progress . #f))))) (define-syntax-rule (with-database body ...) "Run BODY with %DB-CHANNEL being dynamically bound to a channel implementing -- cgit v1.2.3