Add Task Stats
This commit is contained in:
parent
3c174540df
commit
81ae32c0f5
2 changed files with 47 additions and 3 deletions
|
@ -16,6 +16,19 @@ import (
|
|||
type TasksData struct {
|
||||
Libraries []Library
|
||||
Tasks []TaskDisplay
|
||||
Stats TaskStats
|
||||
}
|
||||
|
||||
type TaskStats struct {
|
||||
RunningCount int
|
||||
QueuedCount int
|
||||
FailedCount int
|
||||
SuccessCount int
|
||||
UnknownCount int
|
||||
AssignedCount int
|
||||
PausedCount int
|
||||
WaitingCount int
|
||||
TotalCount int
|
||||
}
|
||||
|
||||
type TaskDisplay struct {
|
||||
|
@ -48,6 +61,24 @@ func handleTasks(w http.ResponseWriter, r *http.Request) {
|
|||
|
||||
data := TasksData{}
|
||||
|
||||
err := db.QueryRow(r.Context(), `
|
||||
SELECT count(*),
|
||||
sum(case when status = 0 then 1 else 0 end),
|
||||
sum(case when status = 1 then 1 else 0 end),
|
||||
sum(case when status = 2 then 1 else 0 end),
|
||||
sum(case when status = 3 then 1 else 0 end),
|
||||
sum(case when status = 4 then 1 else 0 end),
|
||||
sum(case when status = 5 then 1 else 0 end),
|
||||
sum(case when status = 6 then 1 else 0 end),
|
||||
sum(case when status = 7 then 1 else 0 end)
|
||||
FROM tasks
|
||||
`).Scan(&data.Stats.TotalCount, &data.Stats.UnknownCount, &data.Stats.FailedCount, &data.Stats.SuccessCount, &data.Stats.RunningCount, &data.Stats.QueuedCount, &data.Stats.AssignedCount, &data.Stats.PausedCount, &data.Stats.WaitingCount)
|
||||
if err != nil {
|
||||
slog.ErrorContext(r.Context(), "Query Task Counts", "err", err)
|
||||
http.Error(w, "Error Query Task Counts: "+err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
rows, err := db.Query(r.Context(), "SELECT id, name, path, enable FROM libraries WHERE enable = $1", true)
|
||||
if err != nil {
|
||||
slog.ErrorContext(r.Context(), "Query Libraries", "err", err)
|
||||
|
|
|
@ -14,6 +14,19 @@
|
|||
<input type="submit">
|
||||
</form>
|
||||
|
||||
<h2>Task Stats</h2>
|
||||
Running: {{.Stats.RunningCount}}
|
||||
Queued: {{.Stats.QueuedCount}}
|
||||
Failed: {{.Stats.FailedCount}}
|
||||
Success: {{.Stats.SuccessCount}}
|
||||
Unknown: {{.Stats.UnknownCount}}
|
||||
Assigned: {{.Stats.AssignedCount}}
|
||||
Paused: {{.Stats.PausedCount}}
|
||||
Waiting: {{.Stats.WaitingCount}}
|
||||
Total: {{.Stats.TotalCount}}
|
||||
|
||||
|
||||
|
||||
<h2>Tasks</h2>
|
||||
<div class="task-list">
|
||||
<table>
|
||||
|
|
Loading…
Add table
Reference in a new issue