我正在使用谷歌应用引擎,并有2个应用程序使用cron作业来安排事件。我可以使用gcloud app deploy app.yaml cron.yaml
部署这两个应用程序。即使两个应用程序都已部署并正在运行,但实际上只运行了一个cron作业。这就是文件的样子。
首先是cron.yaml
cron:
- description: "GET first group"
url: /
schedule: every 5 minutes
target: pubsubone
第二次cron.yaml
cron:
- description: "GET second group"
url: /
schedule: every 5 minutes
target: pubsubtwo
这些文件位于不同的文件夹中,并与不同的应用程序相关联。
答案 0 :(得分:2)
使用新的cron.yaml
文件部署第二个服务时,第一个cron作业会被覆盖,因为预计只有一个cron.yaml
用于部署。要部署两个cron作业,请将它们同时加入单个文件中,如示例here中所示,然后部署生成的cron.yaml
文件,如图所示here。 cron.yaml
应如下所示:
cron:
- description: "GET first group"
url: /
schedule: every 5 minutes
target: pubsubone
- description: "GET second group"
url: /
schedule: every 5 minutes
target: pubsubtwo
部署它的命令行就是这个:
$ gcloud app deploy cron.yaml
答案 1 :(得分:1)
有几个原因可能导致您失败,如果您使用/
之外的其他内容作为网址,那么整理出来会更容易。也许/cron
。在查看日志时,这样可以更容易地确定网址是按预期调用的。
接下来是target
。如果您的应用版本没有活动版本具有指定值作为其版本(或服务,但我没有相关经验),AFAIK,cron
生成的请求将获得掉在地上。