在Google App Engine的暂存环境中处理Cron作业

问题描述 投票:0回答:1

我想在Google App Engine上设置登台环境,并在以下问题中找到了很好的指导: 如何在Google App Engine上设置登台环境

我唯一未解决的问题是在这种情况下如何处理Cron作业。 理想情况下,我只需要更改版本以部署到生产环境,但是我担心那将意味着所有cron作业也都在登台版本上运行,不是这样吗?

google-app-engine cron staging
1个回答
1
投票

如果您使用其他版本方法,则需要注意以下事项

如果已经为作业设置了目标参数,则将请求发送到指定的版本。 否则,Cron请求将发送到应用程序的默认版本。

我一直在使用target参数将cron作业定向到不同的模块,根据上面的引用,我猜想它也可以用于通过URL通过模块路由将作业定向到不同的版本:

  target: version

要么

  target: version-dot-module

我个人更喜欢使用不同的应用程序方法,以确保在过渡和生产环境之间不会产生干扰,即使执行大量的返工也破坏了向后兼容性:)

对于该方法,我使用代码的2个不同分支中的2个不同的工作区,它们之间的差异很小( .yaml文件中的application字段以及其他与暂存相关的增量)。

  • staging工作区和分支
  • production工作区和分支

每当我对staging分支中的代码感到满意时,我:

  • 合并staging分支在production一个
  • 更新production工作空间并从中进行部署->更新production应用
  • 禁用staging工作空间中我需要的任何内容(如果需要,也将更改提交到staging分支)
  • staging工作空间进行部署->更新staging应用

该方法可能也可以在不同的版本方法中使用, .yaml文件中的version字段在两个分支中是不同的。

© www.soinside.com 2019 - 2024. All rights reserved.