Cron Job不会通过TimeZone触发

时间:2019-05-29 06:34:53

标签: go cron

我一直在对带有时区的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分钟,但是它永远都不会起作用。 知道为什么吗?

1 个答案:

答案 0 :(得分:0)

我是cron公式"26 15 * * *"的错误,应该是"00 26 15 * *"