【问题标题】:GAE Error When Trying To Run App via Dispatch File尝试通过调度文件运行应用程序时出现 GAE 错误
【发布时间】:2017-07-20 22:56:23
【问题描述】:

尝试像这样使用调度文件运行我的应用程序:

  $ dev_appserver.py dispatch.yaml app1/app.yaml app2/app.yaml

给我以下错误:

Traceback (most recent call last):
  File "/Users/usera/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 101, in <module>
    _run_file(__file__, globals())
  File "/Users/usera/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 97, in _run_file
    execfile(_PATHS.script_file(script_name), globals_)
  File "/Users/usera/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 1041, in <module>
    main()
  File "/Users/usera/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 1037, in main
    dev_server.stop()
  File "/Users/usera/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 845, in stop
    metrics.GetMetricsLogger().Stop()
  File "/Users/usera/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/metrics.py", line 117, in Stop
    total_run_time = int((Now() - self._start_time).total_seconds())
TypeError: unsupported operand type(s) for -: 'datetime.datetime' and 'NoneType'

我正在使用来自here 的最新 gcloud 安装。每个服务/模块(例如上面命令中的 app1/app2)都是用 go 编写的。

我的调度文件的内容:

application: my-app

– url: “*/app2/*”
module: app2

– url: “*/app1/*”
module: app1

我的 python 版本当然是 2.7。有什么想法吗?

【问题讨论】:

标签: google-app-engine google-cloud-platform


【解决方案1】:

我也遇到了这个问题,我认为问题是 dev_appserver 需要一个默认模块来路由与任何调度规则不匹配的请求。

我可以通过从默认模块的app.yaml 中删除service 属性并删除该模块的调度规则来定义默认模块。

在您的情况下,从app1/app.yaml(如果存在)中删除service 属性,并删除指向dispatch.yaml 中app1 的调度规则。

希望这会有所帮助!

【讨论】:

  • 除非应用程序已经有一个default 模块,在这种情况下,该模块的.yaml 文件需要添加到dev_appserver.py cmdline(我将它放在第一个之后调度文件)。
  • @DanCornilescu 您如何定义“默认”模块?我在 app.yaml 中没有看到该属性
  • 未定义其名称(如您在回答中提到的)或明确命名为:service: defaultmodule: default
  • default 模块始终是必需的,不仅仅是dispatch.yaml 文件。见stackoverflow.com/questions/42360790/…
  • 谢谢。在我的情况下,我有一个默认模块设置,并且在我的任何应用程序中都没有服务属性
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-20
  • 2018-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-27
相关资源
最近更新 更多