job.go 544 B

1234567891011121314151617181920212223242526272829303132333435
  1. package job
  2. import (
  3. "fmt"
  4. "github.com/go-co-op/gocron"
  5. "github.com/go-nunu/nunu-layout-advanced/pkg/log"
  6. "time"
  7. )
  8. type Job struct {
  9. log *log.Logger
  10. }
  11. func NewJob(log *log.Logger) *Job {
  12. return &Job{
  13. log: log,
  14. }
  15. }
  16. func (j *Job) Run() {
  17. s := gocron.NewScheduler(time.UTC)
  18. _, err := s.CronWithSeconds("0/3 * * * * *").Do(func() {
  19. j.log.Info("I'm a Task1.")
  20. })
  21. if err != nil {
  22. fmt.Println(err)
  23. }
  24. _, err = s.Every("3s").Do(func() {
  25. j.log.Info("I'm a Task2.")
  26. })
  27. if err != nil {
  28. fmt.Println(err)
  29. }
  30. s.StartBlocking()
  31. }