2
0
mirror of https://github.com/hibiken/asynq.git synced 2024-11-10 11:31:58 +08:00

Minor update to asynq cron command

This commit is contained in:
Ken Hibino 2020-10-11 14:35:18 -07:00
parent 96b2318300
commit 4ae73abdaa

View File

@ -9,6 +9,7 @@ import (
"io" "io"
"os" "os"
"sort" "sort"
"time"
"github.com/spf13/cobra" "github.com/spf13/cobra"
) )
@ -59,12 +60,30 @@ func cronList(cmd *cobra.Command, args []string) {
cols := []string{"EntryID", "Spec", "Type", "Payload", "Options", "Next", "Prev"} cols := []string{"EntryID", "Spec", "Type", "Payload", "Options", "Next", "Prev"}
printRows := func(w io.Writer, tmpl string) { printRows := func(w io.Writer, tmpl string) {
for _, e := range entries { for _, e := range entries {
fmt.Fprintf(w, tmpl, e.ID, e.Spec, e.Type, e.Payload, e.Opts, e.Next, e.Prev) fmt.Fprintf(w, tmpl, e.ID, e.Spec, e.Type, e.Payload, e.Opts,
nextEnqueue(e.Next), prevEnqueue(e.Prev))
} }
} }
printTable(cols, printRows) printTable(cols, printRows)
} }
// Returns a string describing when the next enqueue will happen.
func nextEnqueue(nextEnqueueAt time.Time) string {
d := nextEnqueueAt.Sub(time.Now()).Round(time.Second)
if d < 0 {
return "Now"
}
return fmt.Sprintf("In %v", d)
}
// Returns a string describing when the previous enqueue was.
func prevEnqueue(prevEnqueuedAt time.Time) string {
if prevEnqueuedAt.IsZero() {
return "N/A"
}
return fmt.Sprintf("%v ago", time.Since(prevEnqueuedAt).Round(time.Second))
}
func cronHistory(cmd *cobra.Command, args []string) { func cronHistory(cmd *cobra.Command, args []string) {
r := createRDB() r := createRDB()
for i, entryID := range args { for i, entryID := range args {