通过在app.yaml中定义路由与在AppEngine中的WSGIApplication中进行一个大型映射相比,可以提高性能?
发布于 2021-01-29 15:06:27
场景1
这涉及在中使用一条“网关”路线app.yaml
,然后在RequestHandler
中选择WSGIApplication
。
app.yaml
- url: /.*
script: main.py
main.py
from google.appengine.ext import webapp
class Page1(webapp.RequestHandler):
def get(self):
self.response.out.write("Page 1")
class Page2(webapp.RequestHandler):
def get(self):
self.response.out.write("Page 2")
application = webapp.WSGIApplication([
('/page1/', Page1),
('/page2/', Page2),
], debug=True)
def main():
wsgiref.handlers.CGIHandler().run(application)
if __name__ == '__main__':
main()
方案2:
这涉及在中定义两个路由app.yaml
,然后为每个定义两个脚本(page1.py
和page2.py
)。
app.yaml
- url: /page1/
script: page1.py
- url: /page2/
script: page2.py
page1.py
from google.appengine.ext import webapp
class Page1(webapp.RequestHandler):
def get(self):
self.response.out.write("Page 1")
application = webapp.WSGIApplication([
('/page1/', Page1),
], debug=True)
def main():
wsgiref.handlers.CGIHandler().run(application)
if __name__ == '__main__':
main()
page2.py
from google.appengine.ext import webapp
class Page2(webapp.RequestHandler):
def get(self):
self.response.out.write("Page 2")
application = webapp.WSGIApplication([
('/page2/', Page2),
], debug=True)
def main():
wsgiref.handlers.CGIHandler().run(application)
if __name__ == '__main__':
main()
题
每种模式的优点和缺点是什么?一个比另一个快吗?
关注者
0
被浏览
50
1 个回答