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 {
|
type TasksData struct {
|
||||||
Libraries []Library
|
Libraries []Library
|
||||||
Tasks []TaskDisplay
|
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 {
|
type TaskDisplay struct {
|
||||||
|
@ -48,6 +61,24 @@ func handleTasks(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
||||||
data := TasksData{}
|
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)
|
rows, err := db.Query(r.Context(), "SELECT id, name, path, enable FROM libraries WHERE enable = $1", true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.ErrorContext(r.Context(), "Query Libraries", "err", err)
|
slog.ErrorContext(r.Context(), "Query Libraries", "err", err)
|
||||||
|
|
|
@ -14,6 +14,19 @@
|
||||||
<input type="submit">
|
<input type="submit">
|
||||||
</form>
|
</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>
|
<h2>Tasks</h2>
|
||||||
<div class="task-list">
|
<div class="task-list">
|
||||||
<table>
|
<table>
|
||||||
|
|
Loading…
Add table
Reference in a new issue