package main import ( "fmt" "github.com/robfig/cron" "sync" "time" ) func main() { c := cron.New() var lock sync.Mutex exportFileFlag := true //c.AddFunc("00 07 15 * * ?", func() { fmt.Println(time.Now()) }) c.AddFunc("*/5 * * * * ?", func() { if exportFileFlag == true { lock.Lock() exportFileFlag = false lock.Unlock() fmt.Println(time.Now()) time.Sleep(10 * time.Second) lock.Lock() exportFileFlag = true lock.Unlock() } }) //c.AddFunc("CRON_TZ=Asia/Tokyo 30 04 * * *", func() { fmt.Println("Runs at 04:30 Tokyo time every day") }) //c.AddFunc("@hourly", func() { fmt.Println("Every hour, starting an hour from now") }) //c.AddFunc("@every 1h30m", func() { fmt.Println("Every hour thirty, starting an hour thirty from now") }) //c.AddFunc("@every 1s", func() {fmt.Println("Every 1 second, starting an hour thirty from now")}) c.Start() select {} }