2017-03-01 37 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' –

相關問題