На сервере приложений Google (GAE), как мой сервер может определить, является ли это версией по умолчанию? - PullRequest
5 голосов
/ 17 июля 2011

На моем сервере Google AppEngine (GAE) я хотел бы сделать что-то вроде этого:

if (thisIsTheDefaultServer)
{
    // behave normally
}
else
{
    // Accept special test-commands, give extra output, etc.
}

существует ли способ для кода сервера определить, является ли это текущей версией по умолчанию?

Спасибо!

Ответы [ 3 ]

5 голосов
/ 18 июля 2011

В настоящее время нет способа сделать это, но вы можете пересмотреть свои требования. На ум приходят две альтернативы:

  1. Включение имени хоста: если это простое имя appspot или пользовательское имя домена, вы используете версию по умолчанию. Если это имя version.app.appspot.com, вы можете или не можете быть версией по умолчанию, но в любом случае, вероятно, должны включить другое поведение.
  2. Включить дополнительное поведение в зависимости от того, вошел ли пользователь в качестве администратора или нет. Вероятно, это более удачная идея: она упрощает отладку вашего производственного приложения и означает, что обычные пользователи не могут найти альтернативную версию и увидеть то, чего не должны.
2 голосов
/ 19 июля 2011

Я помню, как команда Google App Engine упоминала API для извлечения чего-либо из панели инструментов.К сожалению, я не могу найти его в данный момент.Я думаю, что это могло быть в этом выступлении: http://www.google.com/events/io/2011/sessions/life-in-app-engine-production.html

Я нашел один документ, в котором говорится, как получить эту информацию именно на Java.У меня не было достаточно времени, чтобы найти версию Python.

Для Java (http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/utils/SystemProperty.html):

 if (SystemProperty.environment.value() == SystemProperty.Environment.Value.Production) {
   // do something that's production-only
 }
 String version = SystemProperty.version.get();
0 голосов
/ 17 июля 2011

Извлечение доступных переменных среды (для Java для Python )

CURRENT_VERSION_ID в Python SDK содержит значение, указанное в app.yaml, я думаю, это com.google.appengine.runtime.version для рунтинки Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...