关于appengine的新手,我真的不知道如何说出这个问题,这让我不知道谷歌有什么关键词,我希望除了很多人的抨击之外,我真的得到了帮助。 / p>
我对在线appengine的行为和本地服务器上的appengine感到困惑。
背景信息:
顺便说一句,这是在Python
最初,我假设,在需要时或作为作者 将创建应用程序或模块的实例 该实例将是服务于来自不同客户的多个请求的实例。
在这种行为中,任何初始化代码只会运行一次。
但是在本地开发服务器中
每次我添加新的东西,特别是在main.py,
服务器能够捕获新的变化,
然后在浏览器刷新时能够运行它。
这让我想到了,等等...... 它是否一遍又一遍地运行整个脚本 在每个请求?
问题:
实例/模块是否在每个请求上运行整个代码,或者这只是dev服务器的一个附加行为,以使开发更容易?
答案 0 :(得分:0)
你的假设 - 关于生产和发展中的行为 - 都是错误的。
在生产中,GAE根据需要旋转实例。这可以响应于增加的负载,或者主机可以在一定量的时间之后简单地决定通过杀死它并开始新的实例来回收实例。无论何时启动新实例,都将始终运行初始化代码。
在开发中,您只获得一个实例。但是,服务器会监视文件系统的更改。如果它检测到代码本身的更改,它将自行重新启动,因此重新运行初始化代码。但是,如果您不在请求之间进行任何代码更改,则现有进程将无限期地继续,并且init代码将不会重新运行。