App引擎版本,Memcache
问题描述:
我正在开发一个使用内存缓存的App引擎应用程序。由于您的应用的所有版本之间只共享一个memcache,因此我可能会将错误数据从新版本发送到生产版本memcache。为了防止这种情况发生,我想我可以将应用程序版本附加到memcache密钥字符串中,以允许各种版本的应用程序保持其数据分离。App引擎版本,Memcache
我可以手动做到这一点,但我想在版本拉离的app.yaml
我怎样才能从Python代码中访问应用程序的版本?
答
os.environ
变量包含一个可以使用的密钥CURRENT_VERSION_ID
。它的价值由来自app.yaml的version
和一段时间连在一起组成,我怀疑是api_version
。如果我将version
设置为42,它会给我42.1
的值。你应该没有问题单独提取版本号,但保持api_version
也不是一个坏主意。
编辑:
@Nick约翰逊指出,这一时期的权数是次版本,这是每一个部署你的代码的时间递增的一个数字。在开发服务器上,这个数字总是1.
谢谢,我打算调用os.environ.get('CURRENT_VERSION_ID','') – 2010-10-20 10:42:21
该版本的第二部分是'minor'版本ID。在开发服务器上它总是1,但是在生产中它随每次部署而变化。 – 2010-10-20 11:44:05
@尼克约翰逊,谢谢你指出。这是很好的知道。 – 2010-10-20 11:45:45