crontab.go 988 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package cmd
  2. import (
  3. "context"
  4. "fmt"
  5. "kpt-pasture/dep"
  6. "gitee.com/xuyiping_admin/pkg/cmd"
  7. "gitee.com/xuyiping_admin/pkg/xerr"
  8. "github.com/spf13/cobra"
  9. )
  10. // CrontabCmd represents the crontab command
  11. var CrontabCmd = &cobra.Command{
  12. Use: "crontab",
  13. Short: "计划任务",
  14. Run: func(cmd *cobra.Command, args []string) {
  15. fmt.Println("crontab called")
  16. },
  17. }
  18. func init() {
  19. // 每日零点更新牛只日龄脚本
  20. cmd.Instant(JobCmd, "update:cowAge", UpdateCowDayAge, "更新牛只日龄")
  21. cmd.Instant(JobCmd, "gen:cowAge", GenerateWorkOrder, "创建每天的工单")
  22. }
  23. func UpdateCowDayAge(ctx context.Context, args []string) error {
  24. crontab := dep.DICrontabService()
  25. if err := crontab.UpdateCowInfo(); err != nil {
  26. xerr.ReportSentry(ctx, err)
  27. }
  28. return nil
  29. }
  30. func GenerateWorkOrder(ctx context.Context, args []string) error {
  31. crontab := dep.DICrontabService()
  32. if err := crontab.GenerateAsynqWorkOrder(); err != nil {
  33. xerr.ReportSentry(ctx, err)
  34. }
  35. return nil
  36. }