Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 避免覆盖谷歌应用程序引擎上的cron作业_Google App Engine_Cron - Fatal编程技术网

Google app engine 避免覆盖谷歌应用程序引擎上的cron作业

Google app engine 避免覆盖谷歌应用程序引擎上的cron作业,google-app-engine,cron,Google App Engine,Cron,我正在使用google app engine,有两个应用程序使用cron作业来安排事件。我可以使用gcloud app deploy app.yaml cron.yaml部署这两个应用程序。即使两个应用程序都已部署并工作,但只有一个cron作业实际运行。这就是文件的外观 第一个cron.yaml cron: - description: "GET first group" url: / schedule: every 5 minutes target: pubsubone cron

我正在使用google app engine,有两个应用程序使用cron作业来安排事件。我可以使用
gcloud app deploy app.yaml cron.yaml
部署这两个应用程序。即使两个应用程序都已部署并工作,但只有一个cron作业实际运行。这就是文件的外观

第一个cron.yaml

cron:
- description: "GET first group"
  url: /
  schedule: every 5 minutes
  target: pubsubone
cron:
- description: "GET second group"
  url: /
  schedule: every 5 minutes
  target: pubsubtwo
第二个cron.yaml

cron:
- description: "GET first group"
  url: /
  schedule: every 5 minutes
  target: pubsubone
cron:
- description: "GET second group"
  url: /
  schedule: every 5 minutes
  target: pubsubtwo

这些文件位于不同的文件夹中,并与不同的应用程序关联。

这可能是您失败的几个原因,如果您使用
/
以外的内容作为url,则可以更轻松地进行分类<代码>/cron,也许吧。这将使查看日志时更容易确定url是否按预期调用


接下来是
目标
。如果没有活动应用程序版本的指定值作为其版本(或服务,尽管我没有这方面的经验),那么,
cron
生成的请求将被丢弃。

当您使用新的
cron.yaml
文件部署第二个服务时,第一个cron作业被覆盖,因为部署只需要一个
cron.yaml
。要同时部署两个cron作业,请将它们合并到一个文件中,如示例所示,然后部署生成的
cron.yaml
文件,如图所示。
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

注意:同一GAE应用程序(项目)中没有2个不同的应用程序,但有2个不同的服务/模块,并且cron配置是应用程序中所有服务共享的应用程序级配置。