考虑以下两种情况:
app.yaml 中有两个 url 处理程序
handlers:
- url: /main
script: main.app1
- url: /secondary
script: secondary.app2
和 main.py 中的 URI 路由器
app1 = webapp2.WSGIApplication([('/main', MainHandler)])
还有一个在 secondary.py 中
app2 = webapp2.WSGIApplication([('/secondary', SecondaryHandler)])
对比
app.yaml 中有一个 url handler
handlers:
- url: /.*
script: main.app
URI 路由器决定处理程序
app = webapp2.WSGIApplication([
('/main', MainHandler),
('/secondary', SecondaryHandler)
])
App Engine 导入这两种场景的方式有什么不同吗?如果所有请求都针对 MainHandler,App Engine 是在第一种情况下完全导入与 SecondaryHandler 关联的文件,还是实例在首次初始化时始终导入每个处理程序?
显然,这些是对应用程序进行逻辑分区的不同方法,但我想问的是是否有任何相关的性能考虑因素。
最佳答案
您可以在 webapp2 中使用惰性处理程序来优化加载并使用单个应用程序。 请参阅此链接:https://webapp2.readthedocs.io/en/latest/guide/routing.html#lazy-handlers
关于python - 在 app.yaml 或 webapp2 URI 路由器中拆分应用程序有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15134866/