2017-03-01 36 views
1

尝试使用像这样的调度文件来运行我的应用程序:GAE错误当试图通过调度运行app文件

$ 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' 

我使用最新的gcloud安装从here。每个服务/模块(例如上面的命令中的app1/app2)都是用go编写的。我派遣文件

内容:

application: my-app 

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

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

我的Python版本当然是2.7。有任何想法吗?

+0

'self._start_time' is NOne –

+0

[在Google App Engine中使用gcloud控制台会导致指标中的运行时错误](http://stackoverflow.com/questions/42495197/using-gcloud-console-for- google-app-engine-causes-a-runtime-error-from-metrics) – mgiuffrida

回答

1

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

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

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

希望这会有所帮助!

+0

除非应用程序已经有一个'default'模块,在这种情况下,该模块的'.yaml'文件需要被添加到'dev_appserver .py' cmdline(我将它放在调度文件后的第一个)。 –

+0

@DanCornilescu你如何定义一个“默认”模块?我在[app.yaml](https://cloud.google.com/appengine/docs/standard/go/config/appref) –

+0

中看不到属性。通过将其名称保留为未定义(如您在答案)或明确命名为:'service:default'或'module:default' –

相关问题