Google app engine dispatch.yaml在默认生产环境下不适用于任务队列

Google app engine dispatch.yaml在默认生产环境下不适用于任务队列,google-app-engine,gae-module,Google App Engine,Gae Module,我开始将一个应用程序分为两个模块,并成功地在AppEngine上运行该应用程序。我可以通过使用特定于模块/版本的URL来驱动流量并查看处理的请求和任务队列事件,从而验证新的配置 例如,使用-,可以正确地将流量驱动到新的非默认版本 但是,当我更新GAE控制台中的默认版本时,应该发送到新模块的请求没有正确路由。它们被分派到默认模块,并在端点移动后失败 好像dispatch.yaml没有激活 默认应用程序yaml文件: application: msn-transit-api module: defa

我开始将一个应用程序分为两个模块,并成功地在AppEngine上运行该应用程序。我可以通过使用特定于模块/版本的URL来驱动流量并查看处理的请求和任务队列事件,从而验证新的配置

例如,使用-,可以正确地将流量驱动到新的非默认版本

但是,当我更新GAE控制台中的默认版本时,应该发送到新模块的请求没有正确路由。它们被分派到默认模块,并在端点移动后失败

好像dispatch.yaml没有激活

默认应用程序yaml文件:

application: msn-transit-api
module: default
version: micro-services
runtime: python27
api_version: 1
threadsafe: true
instance_class: F1
automatic_scaling:
  min_idle_instances: 3
application: msn-transit-api
module: stats-and-maps
version: micro-services
runtime: python27
api_version: 1
threadsafe: true
instance_class: B1
basic_scaling:
  max_instances: 1

handlers:

# map apps
- url: /map(.*)
  script: stats_and_maps.maps.map.app

# stats task
- url: /stats/new/.*
  script: stats_and_maps.stats.stathat.application
新模块yaml文件:

application: msn-transit-api
module: default
version: micro-services
runtime: python27
api_version: 1
threadsafe: true
instance_class: F1
automatic_scaling:
  min_idle_instances: 3
application: msn-transit-api
module: stats-and-maps
version: micro-services
runtime: python27
api_version: 1
threadsafe: true
instance_class: B1
basic_scaling:
  max_instances: 1

handlers:

# map apps
- url: /map(.*)
  script: stats_and_maps.maps.map.app

# stats task
- url: /stats/new/.*
  script: stats_and_maps.stats.stathat.application
派遣yaml:

dispatch:
  - url: "*/map*"
    module: stats-and-maps

  - url: "*/stats/*"
    module: stats-and-maps
值得注意的是,失败的端点正在被任务队列中的作业击中。


为什么GAE上的默认版本会改变其行为?

发现它隐藏在任务队列文档中:(

队列具有“target”配置指令。具有以下特性:

如果未指定目标,则在同一版本上调用任务 它们排队的应用程序的名称

我相信在这种情况下,他们正在交替使用“版本”和“模块”

这也允许我删除这些路由的dispatch.yaml文件