我需要确保在启动GAE实例时初始化了一些代码。有没有一种方法可以在代码中检测到该请求是“加载请求”?
我尝试将初始化代码添加到预热处理程序中,但似乎无法保证可以调用预热。我还尝试为应用程序中的每个服务提供一个空闲实例,以增加调用预热的机会。
答案 0 :(得分:0)
注意:这个答案是在考虑python 2.7标准环境的情况下编写的,我不确定对于所有其他语言/运行时以及它的工作方式是否可以进行等效操作。
实际上,预热请求(如果已配置)仅在至少有一个正在为该服务运行的实例(并非总是如此)时才有效。
您可以将所需的初始化代码放在声明您服务的应用程序的主服务文件中-该代码仅在服务应用程序初始化时才执行,在每个实例生存期内仅发生一次,无论请求是加载还是加载热身一个。
遵循以下原则:
import ...
def my_desired_init_function():
pass # replace with what you need to do
my_desired_init_function()
app = webapp2.WSGIApplication(...)