auto_task2.go 915 B

123456789101112131415161718192021222324252627282930313233
  1. package schedule
  2. import (
  3. "github.com/robfig/cron/v3"
  4. "log"
  5. "time"
  6. "youngee_b_api/app/dao"
  7. )
  8. func AutoTask2() error {
  9. // 新建一个定时任务对象
  10. crontab := cron.New(cron.WithSeconds()) // 精确到秒
  11. spec := "0 */2 * * * ?" //cron表达式
  12. // 定时任务 检查微信支付是否充值成功
  13. _, err1 := crontab.AddFunc(spec, AutoCheckWXRechargeTask)
  14. if err1 != nil {
  15. return err1
  16. }
  17. // 启动定时器
  18. crontab.Start()
  19. // 定时任务是另起协程执行的,这里使用 select 简单阻塞.需要根据实际情况进行控制
  20. //select {} //阻塞主线程停止
  21. return nil
  22. }
  23. // 定时任务 检查微信支付是否充值成功
  24. func AutoCheckWXRechargeTask() {
  25. log.Println("AutoCheckWXRechargeTask running Start, Time :", time.Now())
  26. _ = dao.RechargeRecordDao{}.UpdateRechargeFailedList()
  27. log.Println("AutoCheckWXRechargeTask running End, Time :", time.Now())
  28. }