2010-10-20 25 views
6

Pracuję nad App App App, która używa memcache. Ponieważ istnieje tylko jedna pamięć memcache udostępniana wszystkim wersjom aplikacji, potencjalnie wysyłam złe dane z nowej wersji do memcache wersji produkcyjnej. Aby temu zapobiec, myślę, że mogę dołączyć wersję aplikacji do łańcucha kluczy memcache, aby umożliwić różnym wersjom aplikacji zachowanie oddzielnych danych.Wersja App Engine, Memcache

mogę to zrobić ręcznie, ale chciałbym ciągnąć w wersji z app.yaml

Jak mogę uzyskać dostęp do wersji aplikacji z poziomu kodu Pythona?

Odpowiedz

12

Zmienna zawiera klucz o nazwie CURRENT_VERSION_ID, którego można użyć. Jego wartość składa się z version z app.yaml połączonego z okresem i podejrzewam, że jest to api_version. Jeśli ustawię version na 42, otrzymam wartość 42.1. Nie powinieneś mieć problemu z samodzielnym wyodrębnieniem numeru wersji, ale może nie być tak złym pomysłem, aby zachować także numer api_version.

EDIT:

@Nick Johnson podkreślił, że liczba na prawo od okresu jest wersja pomocnicza, liczba ta jest zwiększana za każdym razem, gdy wdrożyć swój kod. Na serwerze programistycznym ten numer jest zawsze 1.

+0

dziękuję, zadzwonię do os.environ.get ('CURRENT_VERSION_ID', '') –

+3

Druga część wersji to "mniejszy" identyfikator wersji. Na serwerze programistycznym zawsze wynosi 1, ale w produkcji zmienia się przy każdym wdrożeniu. –

+0

@Nick Johnson, dzięki za wskazanie tego. To bardzo dobrze wiedzieć. –