Как отключить автоматическую проверку обновлений при запуске запуска Google App Engine Launcher?

Я занимаюсь GAE, и мне нравится простота использования GAE Launcher, доступная с помощью SDK Windows.

Моя проблема заключается в том, что когда я запускаю приложение, ему требуется много времени, чтобы он стал отзывчивым. Это связано с тем, что программа сначала проверяет наличие обновлений перед запуском приложения. Это заставляет его зависать, ожидая ответа. Моя проблема заключается в том, что моя основная машина-разработчик находится за прокси-сервером, а GAE Launcher блокируется прокси-сервером.

Есть ли способ отключить проверку обновлений GAE при запуске запуска? Может быть, команда, которую я могу передать в основной исполняемый файл через мой ярлык?

Ответ 1

Google App Engine (GAE) использует библиотеку python urllib2 для проверки обновлений. Эта библиотека получает настройки прокси из *_proxy переменных среды, а не реестра Windows.

По умолчанию ProxyHandler использует переменные среды с именем <schem> _proxy, где < схема > это схема URL. Например, переменная среды http_proxy считывается для получения URL-адреса HTTP-прокси.

Если вам нужно использовать прокси-сервер и не иметь эту переменную правильно, ваш GAE Launcher будет заблокирован до таймаута соединения, задерживающего начало программы.

Если вы создаете новую переменную среды с именем http_proxy с host_or_ip:port, GAE Launcher начнет мигать глазом.

Чтобы определить переменную среды, перейдите к: Control Panel -> System and Security -> System -> Advanced system settings -> Advanced Tab -> Environment Variables...

Ответ 2

Убедитесь, что все ваши процессы GAE-java/python закрыты перед тем, как вы их разблокируете. Очень часто они застревают и потребляют процессорное время и память после нажатия CTRL + C.


[EDIT]

Чтобы отключить обновления, запустите сервер с помощью

--disable_update_check

вариант.

Использование: < dev-appserver > [опции] < war directory >


[EDIT]

Откройте dev_appserver.cmd script из GAE SDK с вашим любимым текстовым процессором и вручную добавьте параметр - disable_update_check сразу после определения DevAppServerMain.

java -cp "%~dp0\..\lib\appengine-tools-api.jar" ^
com.google.appengine.tools.KickStart ^
   com.google.appengine.tools.development.DevAppServerMain --disable_update_check %*

В следующий раз, когда вы запустите приложение из GAE Launcher, оно начнется с опции "--disable_update_check" автоматически.


[EDIT]

Для Python:

открыть исходный код python в

[GAE_SDK_PY]/google/appengine/tools/dev_appserver_main.py

с вашим любимым текстовым процессором, найдите 227-ю строку, это выглядит как

ARG_SKIP_SDK_UPDATE_CHECK: False,

и перезапишите его следующим образом:

  ARG_SKIP_SDK_UPDATE_CHECK: True, 

Надеюсь, что это поможет.

Ответ 3

В качестве обновления текущая рабочая функция с Google App Engine 1.9.19 предназначена для редактирования файла ~/.appcfg_nag, чтобы сделать следующее изменение.

- opt_in: true
+ opt_in: false
  timestamp: 0.0

Об этом я узнал, обратившись к google_appengine/README:line 120

--skip_sdk_update_check    Skip checking for SDK updates. If false, fall back                                                                                     
                           to opt_in setting specified in .appcfg_nag          
                           (Default false)