package server import ( "fmt" "os" "text/tabwriter" "time" "github.com/ditatompel/xmr-remote-nodes/internal/cron" "github.com/ditatompel/xmr-remote-nodes/internal/database" "github.com/spf13/cobra" ) var cronCmd = &cobra.Command{ Use: "cron", Short: "Print cron tasks", Long: `Print list of regular cron tasks running on the server.`, Run: func(cmd *cobra.Command, args []string) { if err := database.ConnectDB(); err != nil { panic(err) } crons, err := cron.New().Crons() if err != nil { fmt.Println(err) return } if len(crons) == 0 { fmt.Println("No crons found") return } w := tabwriter.NewWriter(os.Stdout, 1, 1, 1, ' ', 0) fmt.Fprintf(w, "ID\t| Name\t| Run Every\t| Last Run\t| Took Time\n") for _, cron := range crons { fmt.Fprintf(w, "%d\t| %s\t| %ds\t| %s\t| %f\n", cron.ID, cron.Title, cron.RunEvery, time.Unix(cron.LastRun, 0).Format(time.RFC3339), cron.RunTime, ) } w.Flush() }, }