Add API endpoint for ListCompletedTasks

This commit is contained in:
Ken Hibino
2021-10-15 11:14:12 -07:00
parent 3723433895
commit 81ae7c2d4f
3 changed files with 61 additions and 0 deletions

View File

@@ -343,6 +343,35 @@ func toArchivedTasks(in []*asynq.TaskInfo, pf PayloadFormatter) []*archivedTask
return out
}
type completedTask struct {
*baseTask
CompletedAt time.Time `json:"completed_at"`
}
func toCompletedTask(ti *asynq.TaskInfo, pf PayloadFormatter) *completedTask {
base := &baseTask{
ID: ti.ID,
Type: ti.Type,
Payload: pf.FormatPayload(ti.Type, ti.Payload),
Queue: ti.Queue,
MaxRetry: ti.MaxRetry,
Retried: ti.Retried,
LastError: ti.LastErr,
}
return &completedTask{
baseTask: base,
CompletedAt: ti.CompletedAt,
}
}
func toCompletedTasks(in []*asynq.TaskInfo, pf PayloadFormatter) []*completedTask {
out := make([]*completedTask, len(in))
for i, ti := range in {
out[i] = toCompletedTask(ti, pf)
}
return out
}
type schedulerEntry struct {
ID string `json:"id"`
Spec string `json:"spec"`