go - Cron Job 不会使用 TimeZone 触发

标签 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 分)

sig 片段是我出于测试目的在堆栈溢出中发现的,因此程序不会在 cron 作业有时间运行之前关闭。

我总是将时间调快 1 或 2 分钟,但它从来没有用过。 知道为什么吗?

最佳答案

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

关于go - Cron Job 不会使用 TimeZone 触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56354424/

相关文章:

Golang RethinkDB ChangeFeed 结构

java - 服务器重启期间的 Quartz 调度程序

来自 cron 作业的 svn 身份验证(osx 10.7)

go - K8S 通过 go API 读取 config map

logging - 在不同的文件中使用相同的对象实例(日志)

python - Golang 中的并发服务器

for-loop - 如何修改 slice 中结构的字段?

php - 为什么我的 cron 任务在命令行中有效,但在 PLESK 中无效?

ruby-on-rails - 随时使用 Rails cron,设置环境

php - Cron 作业不运行