Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
golang crontab每天午夜执行函数_Go - Fatal编程技术网

golang crontab每天午夜执行函数

golang crontab每天午夜执行函数,go,Go,我想使用这个crontab库执行函数https://github.com/robfig/cron 每天下午12:05。这是我当前的代码: cronHandler.AddFunc("@midnight", func() { fmt.Println("crontab ping") } 如何在时区+2的凌晨3:00使用crontab执行我的函数?我的问题是当前函数使用我服务器的时区,第二个问题是这个库在执行时不允许指定时间。如何做到这一点?这可以通过库完成,同时对代码进行一些小的调整 有几件事: 通

我想使用这个crontab库执行函数https://github.com/robfig/cron 每天下午12:05。这是我当前的代码:

cronHandler.AddFunc("@midnight", func() {
fmt.Println("crontab ping")
}
如何在时区+2的凌晨3:00使用crontab执行我的函数?我的问题是当前函数使用我服务器的时区,第二个问题是这个库在执行时不允许指定时间。如何做到这一点?

这可以通过库完成,同时对代码进行一些小的调整

有几件事:

通过在时区数据库的列表中查找您选择的时区,即。 将此时区加载到time.LoadLocation中,或者使用time.FixedZone方法。如果.LoadLocation方法不适用于您,请参阅,以获取有关可用方法的更多信息 使用自定义位置方法NewWithLocation初始化Cron作业运行器的新实例,请参阅 编辑.AddFunc方法的第一个参数,以便添加更精细的cron计划,用更具体的表示每天12:05AM的5 0****替换一般的@midnight,或替换为新的自定义位置上所需的任何cron执行时间 完整示例如下:

// pass in your specific zone name, using USA/LA as example
customLocation := time.LoadLocation("America/Los_Angeles")

// initialize new cron job runner with custom location
cronHandler := cron.NewWithLocation(customLocation)

// the 0/24th hour and 5th minute of every day
cronHandler.AddFunc("5 0 * * * *", func() {
    fmt.Println("crontab ping")
})

文档准确地解释了如何在指定时间执行函数:0 5****是一天中每5个上午执行一次,而不是代码中的注释方式。