我一直在对带有时区的cron作业进行测试。 我的目标是在每个时区设置1个cron作业,以便可以独立于服务器位置运行它。
package main
import (
"fmt"
"github.com/robfig/cron"
"os"
"os/signal"
"time"
)
func helloWorld() {
fmt.Println("hello world")
}
func main() {
s, err1 := cron.Parse("26 15 * * *")
fmt.Println(err1)
l, err := time.LoadLocation("Asia/Tokyo")
fmt.Println(err)
c := cron.NewWithLocation(l)
c.Schedule(s, cron.FuncJob(helloWorld))
c.Start()
sig := make(chan os.Signal)
signal.Notify(sig, os.Interrupt, os.Kill)
<-sig
}
在这里,我只是想进行测试。我希望在东京时间15:26看到helloWorld。 (3:26 PM)
我在堆栈溢出中发现了sig代码段,用于测试目的,这样程序就不会在cron作业有时间运行之前关闭。
我总是将时间设置为提前1或2分钟,但是它永远都不会起作用。 知道为什么吗?
答案 0 :(得分:0)
我是cron公式"26 15 * * *"
的错误,应该是"00 26 15 * *"