diff options
author | zeripath <art27@cantab.net> | 2022-03-29 02:31:07 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-29 02:31:07 +0100 |
commit | 90e0a402c1185827fd3d5352ca915c531ce1e7b1 (patch) | |
tree | aa27fa1774c1c3af797d86a08e829d30bdb8010a /services/cron/cron.go | |
parent | e69b7a92ed91a4b078d216581a24497a72363494 (diff) | |
download | gitea-90e0a402c1185827fd3d5352ca915c531ce1e7b1.tar.gz gitea-90e0a402c1185827fd3d5352ca915c531ce1e7b1.zip |
Show last cron messages on monitor page (#19223)
As discussed on #19221 we should store the results of the last task message on the
crontask and show them on the monitor page.
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'services/cron/cron.go')
-rw-r--r-- | services/cron/cron.go | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/services/cron/cron.go b/services/cron/cron.go index 19f703caf1..9fe90d4230 100644 --- a/services/cron/cron.go +++ b/services/cron/cron.go @@ -47,11 +47,23 @@ func NewContext() { // TaskTableRow represents a task row in the tasks table type TaskTableRow struct { - Name string - Spec string - Next time.Time - Prev time.Time - ExecTimes int64 + Name string + Spec string + Next time.Time + Prev time.Time + Status string + LastMessage string + LastDoer string + ExecTimes int64 + task *Task +} + +func (t *TaskTableRow) FormatLastMessage(locale string) string { + if t.Status == "finished" { + return t.task.GetConfig().FormatMessage(locale, t.Name, t.Status, t.LastDoer) + } + + return t.task.GetConfig().FormatMessage(locale, t.Name, t.Status, t.LastDoer, t.LastMessage) } // TaskTable represents a table of tasks @@ -80,11 +92,15 @@ func ListTasks() TaskTable { } task.lock.Lock() tTable = append(tTable, &TaskTableRow{ - Name: task.Name, - Spec: spec, - Next: next, - Prev: prev, - ExecTimes: task.ExecTimes, + Name: task.Name, + Spec: spec, + Next: next, + Prev: prev, + ExecTimes: task.ExecTimes, + LastMessage: task.LastMessage, + Status: task.Status, + LastDoer: task.LastDoer, + task: task, }) task.lock.Unlock() } |