Add a small table of recent job events
To make it easier to see what recently happened.
This commit is contained in:
parent
331e3e789d
commit
2062badf51
3 changed files with 57 additions and 1 deletions
|
|
@ -56,6 +56,7 @@
|
||||||
process-load-new-guix-revision-job
|
process-load-new-guix-revision-job
|
||||||
select-job-for-commit
|
select-job-for-commit
|
||||||
select-jobs-and-events
|
select-jobs-and-events
|
||||||
|
select-recent-job-events
|
||||||
select-unprocessed-jobs-and-events
|
select-unprocessed-jobs-and-events
|
||||||
select-jobs-and-events-for-commit
|
select-jobs-and-events-for-commit
|
||||||
record-job-event
|
record-job-event
|
||||||
|
|
@ -1076,6 +1077,26 @@ RETURNING id;")
|
||||||
(list commit))))
|
(list commit))))
|
||||||
result))
|
result))
|
||||||
|
|
||||||
|
(define* (select-recent-job-events conn
|
||||||
|
#:key (limit 8))
|
||||||
|
(define query
|
||||||
|
(string-append
|
||||||
|
"
|
||||||
|
SELECT
|
||||||
|
load_new_guix_revision_jobs.id,
|
||||||
|
load_new_guix_revision_jobs.commit,
|
||||||
|
load_new_guix_revision_jobs.source,
|
||||||
|
load_new_guix_revision_jobs.git_repository_id,
|
||||||
|
load_new_guix_revision_job_events.event,
|
||||||
|
load_new_guix_revision_job_events.occurred_at
|
||||||
|
FROM load_new_guix_revision_jobs
|
||||||
|
INNER JOIN load_new_guix_revision_job_events
|
||||||
|
ON load_new_guix_revision_job_events.job_id = load_new_guix_revision_jobs.id
|
||||||
|
ORDER BY load_new_guix_revision_job_events.occurred_at DESC
|
||||||
|
LIMIT " (number->string limit)))
|
||||||
|
|
||||||
|
(exec-query conn query))
|
||||||
|
|
||||||
(define (select-jobs-and-events conn before-id limit)
|
(define (select-jobs-and-events conn before-id limit)
|
||||||
(define query
|
(define query
|
||||||
(string-append
|
(string-append
|
||||||
|
|
|
||||||
|
|
@ -64,11 +64,13 @@
|
||||||
(jobs (select-jobs-and-events
|
(jobs (select-jobs-and-events
|
||||||
conn
|
conn
|
||||||
(assq-ref query-parameters 'before_id)
|
(assq-ref query-parameters 'before_id)
|
||||||
limit-results)))
|
limit-results))
|
||||||
|
(recent-events (select-recent-job-events conn)))
|
||||||
(render-html
|
(render-html
|
||||||
#:sxml (view-jobs
|
#:sxml (view-jobs
|
||||||
query-parameters
|
query-parameters
|
||||||
jobs
|
jobs
|
||||||
|
recent-events
|
||||||
(and limit-results
|
(and limit-results
|
||||||
(>= (length jobs)
|
(>= (length jobs)
|
||||||
limit-results))))))
|
limit-results))))))
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@
|
||||||
|
|
||||||
(define (view-jobs query-parameters
|
(define (view-jobs query-parameters
|
||||||
jobs-and-events
|
jobs-and-events
|
||||||
|
recent-events
|
||||||
show-next-page?)
|
show-next-page?)
|
||||||
(layout
|
(layout
|
||||||
#:body
|
#:body
|
||||||
|
|
@ -46,6 +47,38 @@
|
||||||
(href "/jobs/queue")
|
(href "/jobs/queue")
|
||||||
(role "button"))
|
(role "button"))
|
||||||
"Queue"))))
|
"Queue"))))
|
||||||
|
(div
|
||||||
|
(@ (class "row"))
|
||||||
|
(div
|
||||||
|
(@ (class "col-sm-1")))
|
||||||
|
(div
|
||||||
|
(@ (class "col-sm-10"))
|
||||||
|
(table
|
||||||
|
(@ (class "table"))
|
||||||
|
(thead
|
||||||
|
(tr
|
||||||
|
(th "Job")
|
||||||
|
(th "Event")
|
||||||
|
(th "Occurred at")))
|
||||||
|
(tbody
|
||||||
|
,@(map
|
||||||
|
(match-lambda
|
||||||
|
((id commit source git-repository-id event occurred-at)
|
||||||
|
`(tr
|
||||||
|
(td (a (@ (href
|
||||||
|
,(string-append
|
||||||
|
"/revision/" commit)))
|
||||||
|
(samp ,commit)))
|
||||||
|
(td ,@(let ((classes '(("start" . "info")
|
||||||
|
("success" . "success")
|
||||||
|
("failure" . "danger"))))
|
||||||
|
(or (and=> (assoc-ref classes event)
|
||||||
|
(lambda (class)
|
||||||
|
`((@ (class ,class)))))
|
||||||
|
'()))
|
||||||
|
,event)
|
||||||
|
(td ,occurred-at))))
|
||||||
|
recent-events)))))
|
||||||
(div
|
(div
|
||||||
(@ (class "row"))
|
(@ (class "row"))
|
||||||
(div
|
(div
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue