job.go 453 B

12345678910111213141516171819202122232425262728293031323334
  1. package job
  2. import (
  3. "fmt"
  4. "github.com/go-nunu/nunu-layout/pkg/log"
  5. "github.com/robfig/cron"
  6. "gorm.io/gorm"
  7. )
  8. type Job struct {
  9. db *gorm.DB
  10. log *log.Logger
  11. }
  12. func NewJob(db *gorm.DB, log *log.Logger) *Job {
  13. return &Job{
  14. db: db,
  15. log: log,
  16. }
  17. }
  18. func (j *Job) Run() {
  19. c := cron.New()
  20. var err error
  21. err = c.AddFunc("0/3 * * * * *", func() {
  22. j.log.Info("I'm a Task.")
  23. })
  24. if err != nil {
  25. fmt.Println(err)
  26. }
  27. c.Start()
  28. select {}
  29. }