2010-10-20 28 views
6

Memcache kullanan bir App Engine App geliştiriyorum. Uygulamanızın tüm sürümleri arasında yalnızca tek bir memcache bulunduğundan, yeni sürümden kötü amaçlı verileri üretim sürümü memcache'ye gönderebilirim. Bunu önlemek için, uygulamanın çeşitli sürümlerinin verilerini ayrı tutmasına izin vermek için uygulama sürümünü memcache anahtar dizesine ekleyebileceğimi düşünüyorum.App Engine Sürümü, Memcache

ben elle yapmamız olabilir, ama

nasıl piton kodu içinde uygulama sürümünü erişebilirsiniz app.yaml gelen sürümünde çekin istiyorum?

cevap

12

os.environ değişkeninde, kullanabileceğiniz CURRENT_VERSION_ID adlı bir anahtar bulunur. Bu değer, bir süre ile birlikte birleştirilmiş ve api_version olduğundan şüphelendiğim app.yaml öğesinden version oluşur. version'u 42'ye ayarlarsam 42.1 değerini verir. Tek başına sürüm numarasını ayıklamakta sorun yaşamayacaksınız, ancak api_version'u tutmak için bu kadar kötü bir fikir olmayabilir.

DÜZENLEME:

@ Nick Johnson döneminin sağındaki sayı alt sürüm, kodunuzu dağıtmak her zaman artan bir sayı olduğuna işaret etmiştir. Geliştirme sunucusunda bu sayı her zaman 1'dir.

+0

teşekkürler, os.environ.get ('CURRENT_VERSION_ID', '') –

+3

'u arayacağım. Sürümün ikinci kısmı 'küçük' sürüm kimliğidir. Geliştirme sunucusunda her zaman 1'dir, ancak üretimde her dağıtımda değişir. –

+0

@Nick Johnson, bunu işaretlediğiniz için teşekkürler. Bu bilmek çok güzel. –