Google App Engine启动器启动时,如何禁用自动检查更新?

我一直在修改GAE,并且我喜欢Windows SDK提供的GAE启动器的易用性。

我的问题是,当我启动应用程序,它需要很长时间才能变得快速响应。 这是因为程序在启动应用程序之前首先检查更新。 这导致它挂起,而它正在等待响应。 我的问题是我的主要开发机器是在代理服务器后面,GAE启动器被代理阻塞。

有没有一种方法可以在启动启动器时禁用GAE更新检查? 也许一个命令,我可以通过我的快捷方式传递给底层的可执行文件?

Solutions Collecting From Web of "Google App Engine启动器启动时,如何禁用自动检查更新?"

Google App Engine(GAE)使用python urllib2库检查更新。 这个库从*_proxy环境变量,而不是Windows注册表获取代理设置。

默认情况下,ProxyHandler使用名为<scheme> _proxy的环境变量,其中<scheme>是涉及的URL方案。 例如,读取http_proxy环境变量以获取HTTP代理的URL。

如果您需要使用代理,并且没有正确定义这个变量,那么您的GAE启动器将锁定,直到连接超时,延迟程序的启动。

如果使用host_or_ip:port创建一个名为http_proxy的新环境变量,GAE启动器将在一瞬间启动。

要定义环境变量,请转到: Control Panel -> System and Security -> System -> Advanced system settings -> Advanced Tab -> Environment Variables...

确保所有的GAE-java / python进程在你换新的之前都被关闭了。 在按CTRL + C之后,他们经常会卡住并占用处理器时间和内存。


[编辑]

要禁用更新,请使用运行服务器

 --disable_update_check 

选项。

用法:<dev-appserver> [options] <war directory>


[编辑]

使用您最喜欢的文本处理器从GAE SDK中打开dev_appserver.cmd脚本,并在DevAppserverMain定义之后手动添加–disable_update_check选项。

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

下一次,您将从GAE启动器运行一个应用程序,它将自动启动“–disable_update_check”选项。


[编辑]

对于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, 

希望这可以帮助。

作为更新, 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)