繁体   English   中英

Cron Job 在谷歌云上多次运行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM