我在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!"日志条目,有时我得到一个空白响应,在应用程序引擎日志中除了一个空响应体的200之外什么都没有。
这是完全可复制的,只发生在现场环境中,我想说大约50%的刷新有效,而50%无效。
这种情况只发生在生产中。有什么想法吗?
您的main.py
末尾有这一节吗?
if __name__ == '__main__':
main()
给定的appserver第一次使用给定的处理程序处理请求时,只需导入它。这一节告诉解释器在作为处理程序导入时运行main()
函数。在随后的请求中,appserver直接运行main,这就是为什么每隔一段时间就会看到输出的原因。