![](/img/trans.png)
[英]Cloud Scheduler (Cron Job) triggered a Google Cloud Function on a wrong time
[英]Cron Job is run multiple time on google cloud
我有一个部署在 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 deploy)的数量。
有没有办法解决这个问题?
我自己想通了。 GCP 保留所有旧版本的部署。 当我部署新版本时,它不会杀死旧版本。 https://cloud.google.com/sdk/gcloud/reference/app/deploy要解决这个问题,我必须转到版本页面并删除所有旧版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.