python - 在 app.yaml 或 webapp2 URI 路由器中拆分应用程序有什么区别

标签 python google-app-engine

考虑以下两种情况:

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/

相关文章:

java - 将文件直接上传到 Google Cloud Storage for GAE 应用程序

java - COMET/Server Push如何在Google app engine上实现?

python Flask SocketIO 使用 eventlet 抛出 SSL 错误

python - 在 keras 中绘制学习曲线给出 KeyError : 'val_acc'

python - 如何在 Python 中将向量编码为矩阵汉明距离?

google-app-engine - Go App Engine - 测试 Memcache 服务故障

python - 将数据规范化为 [-1 and 1] ,但需要保留 0 值

python - 尝试使用 Connector/Python 时出现错误 "Access denied for user ' root' @'localhost"

java - 所选的 App Engine SDK 无效

python - 获取应用程序错误 : 2 in GAE PyDev application when deployed on app engine. 在本地工作正常