尝试使用调度文件运行我的应用程序,如下所示:
$ 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。有什么想法吗?
答案 0 :(得分:1)
我也遇到了这个问题,我认为问题是dev_appserver需要一个默认模块来路由与任何调度规则不匹配的请求。
我可以通过从我的默认模块的service
中删除app.yaml
属性来定义默认模块,并删除该模块的调度规则。
在您的情况下,从service
(如果有)中删除app1/app.yaml
属性,并移除指向dispatch.yaml
中app1的发送规则。
希望这有帮助!