簡體   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