main.go 897 B

123456789101112131415161718192021222324252627282930313233
  1. package main
  2. import (
  3. "fmt"
  4. "github.com/robfig/cron"
  5. "sync"
  6. "time"
  7. )
  8. func main() {
  9. c := cron.New()
  10. var lock sync.Mutex
  11. exportFileFlag := true
  12. //c.AddFunc("00 07 15 * * ?", func() { fmt.Println(time.Now()) })
  13. c.AddFunc("*/5 * * * * ?", func() {
  14. if exportFileFlag == true {
  15. lock.Lock()
  16. exportFileFlag = false
  17. lock.Unlock()
  18. fmt.Println(time.Now())
  19. time.Sleep(10 * time.Second)
  20. lock.Lock()
  21. exportFileFlag = true
  22. lock.Unlock()
  23. }
  24. })
  25. //c.AddFunc("CRON_TZ=Asia/Tokyo 30 04 * * *", func() { fmt.Println("Runs at 04:30 Tokyo time every day") })
  26. //c.AddFunc("@hourly", func() { fmt.Println("Every hour, starting an hour from now") })
  27. //c.AddFunc("@every 1h30m", func() { fmt.Println("Every hour thirty, starting an hour thirty from now") })
  28. //c.AddFunc("@every 1s", func() {fmt.Println("Every 1 second, starting an hour thirty from now")})
  29. c.Start()
  30. select {}
  31. }