Я делал некоторые тесты с заданиями 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
}
Здесь я просто пытаюсь выполнить тест.Я ожидаю увидеть helloWorld в 15:26 по токийскому времени.(3:26 PM)
Фрагмент sig - это то, что я обнаружил при переполнении стека в целях тестирования, чтобы программа не закрывалась до того, как задание cron успевает запуститься.
Я всегда устанавливаю время на 1 или 2 минуты вперед, и оно никогда не работает.есть идеи почему?