Python 如何在GAE中配置后端

Python 如何在GAE中配置后端,python,google-app-engine,backend,Python,Google App Engine,Backend,我似乎遗漏了一些基本的东西。我将backends.yaml文件添加到我的应用程序所在的开发环境目录中。此文件包含以下内容: backends: - name: reporting class: B8 options: dynamic public 我部署了,管理控制台说我没有配置任何后端。我试着像这样使用appcfg.py: appcfg.py backends ~/work/google/myappfolder list 上面写着: No backends configured f

我似乎遗漏了一些基本的东西。我将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后端列表
列出为dir/app.yaml中指定的应用程序配置的所有后端。
app.yaml
是打字错误吗?还是我的问题是我应该在app.yaml中添加一些内容?我在别的地方没发现有人提到过这件事

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

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

  • 您必须执行
    appcfg.py backends dir update
    ,才能继续运行
  • 每次更新代码时都必须再次执行该操作(单击启动器程序中的deploy按钮不会更新后端!)
  • 文档中的app.yaml是一个打字错误
  • 您不需要从命令行启动动态后端;它们是自动启动的
  • 日志在调试后端问题时是无用的;不要认为日志中缺少信息表明了什么
  • 如果提供多个选项,请用逗号分隔

  • 您是否确实通过命令行启动了后端

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

    所以,是的,您确实需要这样做,然后它才能服务于动态实例


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

    是的,我试过了,它给了我一个错误,说后端不存在。然后我尝试了list命令,您可以看到输出。所以谢谢你回答我的第二个问题,但我仍然停留在我的第一个问题上。这就是它所说的。。。错误400:---开始服务器输出---开始后端:报告后端“报告”尚未定义。--终端服务器输出——另外,如果有必要,这个应用程序仍然在M/S和Python 2.5上。您是否也设置了实例数?尝试将“instances:1”添加到您传递的后端yamlid--backends以在dev_appserver.py中启用后端支持?我看不出您说您更新了
    appcfg backends
    。这应该首先上传你的备份代码,然后你才能真正
    列出
    或在生产服务器上执行任何其他操作。啊哈!谢谢所以现在我得到一个错误,因为它不喜欢选项:动态公共。但它也不喜欢有两种选择:线条。如何指定多个选项?没关系,我发现我需要用逗号分隔它们。好的,现在我的控制台中出现了一个后端,当我用URL请求点击它时,它就启动了。(这样就可以回答是否需要从命令行启动它:不,不是。)但是,当我通过请求点击后端时,我得到:Error:Server Error您请求的服务还不可用。请在30秒后重试。(日志中没有任何内容,请求也没有,错误也没有。)可能是后端代码与您点击的URL模式不匹配吗?此外,请确保您要么从后端用类似于200的代码响应/_ah/start | stop,要么根本不处理这些代码(404可以)。可能是应用程序引擎认为您的后端尚未就绪。
    
     appcfg backends <dir> start <backend>