我是 GAE / Python 新手。我有一些系统和应用程序变量,我想设置一次,并将它们应用于我的应用程序中的所有.py
文件。任何人都可以告诉我如何实现(有一个仅在应用程序启动时运行一次的地方)?有点像在其他应用程序中对配置文件所做的那样。
我正在运行Python 2.7。
答案 0 :(得分:2)
在GAE上,模块只在运行时加载一次(they are cached),因此您可以创建一个包含所有初始化,全局等的模块。如果您在app.yaml中使用threadsafe = true,请确保正确处理这些全局变量(以线程安全的方式)。
注意,在新实例上再次执行初始化。如果您的init是一个非常长的进程(秒),那么最好的方法是预先计算它,存储在数据存储区中并再次从数据存储区中将它加载到init模块中。
答案 1 :(得分:2)
另一种方法是使用lib_config来定义和覆盖自己的常量和钩子。 https://developers.google.com/appengine/docs/python/tools/appengineconfig
答案 2 :(得分:0)
关于appengine 2.7的推荐方法之一是在app.yaml中设置环境变量。
https://developers.google.com/appengine/docs/python/config/appconfig#env_variables
(正如其他答案一样,这不是唯一的方法。)
答案 3 :(得分:-1)
如果我理解你的查询,我想,你可以在GAE使用warmup request。
在这种情况下,您实际上可以初始化您需要的所有var和方法..