![](/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.