我有一个Google App引擎应用程序,我想要以不同的方式工作,具体取决于它是否在我的本地开发环境中运行(即使用dev_appserver.py),而不是在实际的GAE云中运行。
目前我使用一个标志变量,我手动切换以实现这一点。但我相信有一天我会忘记改变它并导致问题。所以我想知道是否有API或其他方法来确定GAE应用程序实际运行的位置?
感谢。
答案 0 :(得分:8)
您可以检查SERVER_SOFTWARE环境变量以查看它是Development / X还是Google App Engine / X:
http://code.google.com/appengine/docs/python/runtime.html#The_Environment
答案 1 :(得分:1)
我知道最初的问题是针对python的,但是要为Java使用这个:
if (SystemProperty.environment.value() == SystemProperty.Environment.Value.Production) {
// running on prod
} else {
// running on dev
}
答案 2 :(得分:0)
我使用datastore.get()来提取值。
在dev_appserver上,数据存储区包含一个设置为“local”的实体“Environment”。 在GAE开发应用程序中,“环境”是“开发” 在GAE prod应用程序中,“环境”是“prod”
您可以扩展到UAT等。