我有一个部署在 Google Cloud 上的网站。后端服务器有一个cronjob。
func (s *server) startCronJob() error {
err := s.cron.AddFunc("CRON_TZ=Asia/Saigon 0 9 * * *", s.cronJobFunc)
if err != nil {
return err
}
s.cron.Start()
return nil
}
func (s *FBWebHookServer) sendCronProblemToSubscribedUsers() {
log.Println("Start cron job")
// DO Smt
log.Println("Done cron job")
}
startCronJob仅在部署后运行一次。但 cron 作业运行了多次。
A 2020-03-11T02:00:00.000507Z 2020/03/11 02:00:00 Start cron job
A 2020-03-11T02:00:00.000513Z 2020/03/11 02:00:00 Start cron job
A 2020-03-11T02:00:00.000584Z 2020/03/11 02:00:00 Start cron job
A 2020-03-11T02:00:00.000663Z 2020/03/11 02:00:00 Start cron job
我猜这是因为多次部署。当我深入研究这个问题时,cron 作业运行的次数等于部署时间(gcloud app 部署)的次数。
有什么办法可以解决这个问题吗?
翻翻过去那场雪
相关分类