GAE WSG应用程序和多个请求

2024-09-29 01:27:19 发布

您现在位置:Python中文网/ 问答频道 /正文

在dev_appserver中

class MainPage(webapp.RequestHandler):
  def get(self):
     self.response.out.write("Hello MainPage")

class TestPage(webapp.RequestHandler):
  def get(self):
    # 10 seconds
    i = 1
    while True:
      if i == 10:
        break
      time.sleep(1)
      i = i + 1

application = webapp.WSGIApplication([
  ('/', MainPage)
  ('/test10', TestPage),
], debug=True)

我不明白。我转到http://localhost:8080/test10http://localhost:8080/,但主页没有执行。10秒后,MainPage返回“Hello MainPage”。GAE服务器不支持多个请求?在


Tags: devselftruelocalhosthttphellogetdef
3条回答

您还没有包含main()方法,或导致第一个请求得到正确处理的“magic”节。在模块末尾添加以下内容:

def main():
  run_wsgi_app(application)

if __name__ == "__main__":
  main()

@尼克·约翰逊:你测试一下?当然!“我的应用程序”包含的功能。在

http://groups.google.com/group/google-appengine-python/browse_thread/thread/102d76f04ecc5155

Google云端服务器上的实际GAE web服务器很容易支持多个请求(事实上,它们的可伸缩性是其优势之一!),通常是通过使用多个进程和可能的多台计算机在许多请求快速而激烈的时间段内分配负载。在

运行在您本地计算机上的SDK,旨在严格地帮助您开发(绝对不是实际服务于生产流量!-),而是一个接一个地服务请求,以使您更容易调试(直接,通过日志等)。在

如果您想自己(从您自己的计算机或数据中心)为GAE应用程序服务,而不是为了开发目的,而是为了生产目的,请考虑gaeapi的替代实现,例如appscale(如果您有许多服务器可供使用,则可能更适合于此目的,以及处理它们的sysadm技能)和typhoonae(如果有一个或几个服务器要使用,并且希望减少sysadm工作负载,可能更适合使用)。在

相关问题 更多 >