2

我似乎缺少一些基本的东西。我将一个 backends.yaml 文件添加到我的应用程序在我的开发环境中所在的目录中。该文件包含以下内容:

backends:
- name: reporting
  class: B8
  options: dynamic public

我部署并且管理控制台说我没有配置任何后端。我尝试像这样使用 appcfg.py:

appcfg.py backends ~/work/google/myappfolder list

它说:

No backends configured for app: {my app name}.

文档说:

appcfg backends <dir> list
Lists all the backends configured for the app specified in dir/app.yaml.

app.yaml错字吗?还是我的问题是我应该在 app.yaml 中添加一些东西?我在其他任何地方都没有找到任何提及。

此外,一些文档说您必须手动启动所有后端,但其他部分说“动态”后端不需要从命令行启动——它们是自动启动的。它是哪一个?

亚历克斯在评论中回答了这个问题。以下是关键要点:

  1. 你必须做appcfg.py backends dir update才能让事情顺利进行
  2. 每次更新代码时都必须再次执行此操作(单击启动程序中的部署按钮不会更新您的后端!)
  3. 文档中的 app.yaml 是错字
  4. 您不需要从命令行启动动态后端;它们确实会自动启动
  5. 日志在调试后端问题时无用;不要假设日志中缺少信息表明任何事情
  6. 如果提供多个​​选项,请用逗号分隔它们
4

1 回答 1

1

您是否真的通过命令行启动了后端?

 appcfg backends <dir> start <backend>

将后端状态设置为 START,允许其接收 HTTP 请求。驻留后端立即启动。在第一个用户请求到达之前,动态后端不会启动。如果后端已经启动,则无效。

所以是的,您确实需要这样做,然后它才能像您一样在动态实例上服务。

https://developers.google.com/appengine/docs/python/backends/overview#Commands

另外,您是否通过--backends启用后端支持dev_appserver.py

于 2012-10-26T23:08:08.923 回答