Existe-t-il un moyen simple d'obtenir la version de l'application de diffusion actuelle dans AppEngine?AppEngine: Obtenir la version de l'application de diffusion en cours
Répondre
os.environ['CURRENT_VERSION_ID']
String version = SystemProperty.version.get();
String applicationVersion = SystemProperty.applicationVersion.get();
Voici la syntaxe:
public static final SystemProperty applicationVersion
Le numéro de version pour la version en cours d'exécution de l'application plus un horodatage au cours de laquelle il a été déployé. A la clé, "com.google.appengine.application.version".
Voir here
PS. Un puzzle reste encore. Que signifie timestamp à côté de la version et comment le lire?
EDIT: Voici la clé du mystère.
Date UploadDate = new Date(Long.parseLong(
applicationVersion.substring(applicationVersion.lastIndexOf(".")+1))
/(2 << 27) * 1000);
Pour convertir le nombre à la fin de la version dans le temps de déploiement en nombre de secondes depuis epoch, divisez la valeur par 2^28. Voir: http://code.google.com/p/googleappengine/issues/detail?id=5788 pour une demande de fonctionnalité pour GAE autour de cela. Je viens de tester sur une version déployée à partir de cette semaine (juin 2012), et cela a abouti à l'horodatage correct. – mbafford
Donc, fondamentalement 'Date UploadDate = nouvelle Date (Long.parseLong (applicationVersion.substring (applicationVersion.lastIndexOf (". ") + 1))/(2 << 27) * 1000);' – husayt
Pour Python (version GAE SDK: "1.4.2")
version_id = self.request.environ["CURRENT_VERSION_ID"].split('.')[1]
timestamp = long(version_id)/pow(2,28)
version = datetime.datetime.fromtimestamp(timestamp).strftime("%d/%m/%y %X")
Voir http://groups.google.com/group/google-appengine-python/browse_thread/thread/f86010e7cf3c71b4
from google.appengine.api import modules
modules.get_current_version_name()
Source: https://cloud.google.com/appengine/docs/python/modules/functions
- 1. Version de l'application Google AppEngine
- 2. Obtenir la valeur entière de l'année en cours en Java
- 3. obtenir le type de curseur de la souris en cours
- 4. Obtenir l'action en cours
- 5. Obtenir la page en cours par programme
- 6. Comment obtenir la zone d'exécution en cours?
- 7. Django mauvaise version en cours d'exécution
- 8. Comment obtenir l'ID de l'enregistrement en cours?
- 9. Expiration de la diffusion en différé
- 10. Comment obtenir l'URL actuelle du serveur de l'application appengine?
- 11. Obtenir l'URL de la page en cours dans ASP.net
- 12. Céleri - Obtenir l'ID de tâche pour la tâche en cours
- 13. Obtenir hWnd de la fenêtre/formulaire en cours dans VB6?
- 14. Comment faire pour obtenir la version en cours d'exécution de Power Point en utilisant C++ non géré?
- 15. Obtenir la version spécifique de IE
- 16. Obtenir la version d'Appengine version publiée
- 17. Obtenir des métadonnées Shoutcast dans Appengine
- 18. Mercurial: Obtenir l'ensemble de modifications en cours d'un fichier particulier
- 19. Diffusion de vidéos en ligne
- 20. Comment obtenir le fichier en cours, la classe en cours et la méthode actuelle avec Python?
- 21. Obtenir la version .NET Framework dans VB.NET
- 22. Le serveur distant a renvoyé une réponse inattendue: (400) Mauvaise demande en cours de diffusion
- 23. Quelle est la meilleure façon de créer un ID entier en cours d'exécution sur le stockage de données AppEngine?
- 24. Erreur lors de la diffusion
- 25. Obtenir la version Silverlight actuelle du client?
- 26. Comment obtenir la version Apache
- 27. Exigences de diffusion en continu H.264
- 28. Obtenir le nom de l'iPhone xib en cours de visualisation
- 29. tuyaux de diffusion en continu en Python
- 30. C# obtenir la connexion en cours dans la transaction TransactionScope
Ce n'est pas dépréciée. Obtenir la version actuelle de cette façon est parfaitement bien. La clé obsolète est APPLICATION_ID et la fonction get_application_id() doit être utilisée à la place. –
Le résultat est quelque chose comme 'my-version.383096322806301043', donc divisé sur le point si vous voulez juste le nom de la version. Je suppose que la deuxième partie est un horodatage, à en juger par la réponse de Marco sur cette page. – Pat
Pour compléter la réponse de Pat, je l'extrait de cette ligne major_ver, minor_ver = os.environ.get ('CURRENT_VERSION_ID'). Rsplit ('.', 1); – user1961