如何解决GAE中的“意外属性'dispatch'”错误,类型为AppInfoExternal的对象。
请告诉我如何将我的项目部署到GAE(Google App Engine)。
我无法部署我的项目,因为出现了以下错误。
%appcfg.py update app.yaml dispatch.yaml worker.yaml
(omissions)
appcfg.py: error: Error parsing ./dispatch.yaml: Unexpected attribute 'dispatch' for object of type AppInfoExternal.
in "./dispatch.yaml", line 4, column 1.
这个项目在直接的项目文件夹里有以下yaml文件。
app.yaml
dispatch.yaml
worker.yaml
下面是dispatch.yaml的内容。
application: my-app
dispatch:
- url: "*/worker/*"
module: worker
下面是worker.yaml的内容。
application: my-app
module: worker
api_version: 1
threadsafe: false
version: uno
runtime: python27
instance_class: B1
manual_scaling:
instances: 1
handlers:
- url: /_ah/start
script: my-worker.app
6 个回答
1
我刚遇到了一个一样的错误信息,最后我发现谷歌要求调度文件的名字必须叫做 dispatch.yaml
。
我之前的文件名是 web.dispatch.yaml
,谷歌对此不太满意。把我的文件重命名为 dispatch.yaml
后,问题就解决了。
1
在更新 appcfg.py 时,包含的模块必须放在 dispatch.yaml 之前,所以正确的命令是:
appcfg.py update app.yaml worker.yaml dispatch.yaml
1
缩进不对。应该是:
application: my-app
dispatch:
- url: "*/worker/*"
module: worker
2
另外,确保你运行 appcfg.py update_dispatch
这个命令,它和 update
是两个不同的命令。