GAE app.yaml似乎是不一致的路由请求

时间:2011-06-26 18:00:27

标签: google-app-engine handler wsgi

我在app.yaml中有以下内容:

- url: /gae_mini_profiler/static
  static_dir: gae_mini_profiler/static

- url: /gae_mini_profiler/.*
  script: gae_mini_profiler/main.py

- url: .*
  script: main.py

以及gae_mini_profiler / main.py中的以下内容:

def main():
    logging.critical("gae_mini_profiler request!")
    run_wsgi_app(application)

但是,当我向/ gae_mini_profiler / request?request = ABC发送请求,并反复重新加载页面时,有时我会得到正确的响应(以及“gae_mini_profiler request!”日志条目,有时候我得到一个空白的响应,App Engine日志中没有任何内容,只有200的响应体空白。

这是完全可重现的,只发生在现场环境中,我会说~50%的刷新工作,而50%没有。

这只发生在生产中。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

你的main.py

结尾处有这个节吗?
if __name__ == '__main__':
  main()

给定的appserver第一次使用给定的处理程序处理请求时,它只是导入它。这个节告诉解释器在导入为处理程序时运行main()函数。在后续请求中,appserver直接运行main,这就是你每隔一段时间看到输出的原因。