我一直在修改GAE,我喜欢使用Windows SDK提供的GAE Launcher。
我的问题是,当我启动应用程序时,它需要很长时间才能响应。这是因为程序在启动应用程序之前首先检查更新。这导致它挂起,而它正在等待响应。我的问题是我的主要开发机器在代理服务器后面,并且GAE Launcher被代理阻止。
当我启动启动器时,有没有办法可以禁用对GAE更新的检查?也许我可以通过我的快捷方式传递给底层可执行文件的命令?
答案 0 :(得分:15)
Google App Engine(GAE)使用python urllib2库来检查更新。此库从*_proxy
环境变量获取代理设置,而不是Windows注册表。
默认情况下,ProxyHandler使用名为< scheme> _proxy的环境变量,其中< scheme>是涉及的URL方案。例如,读取http_proxy环境变量以获取HTTP代理的URL。
如果您需要使用代理并且没有正确定义此变量,则GAE Launcher将锁定,直到连接超时,从而延迟程序的启动。
如果您使用http_proxy
创建名为host_or_ip:port
的新环境变量,GAE Launcher将在眨眼之间启动。
要定义环境变量,请转到:Control Panel -> System and Security -> System -> Advanced system settings -> Advanced Tab -> Environment Variables...
答案 1 :(得分:5)
确保在分叉新进程之前关闭所有GAE-java / python进程。在按下CTRL + C后,它们经常会卡住并消耗处理器时间和内存。
[编辑]
要禁用更新,请使用
运行服务器--disable_update_check
选项。
用法:< dev-appserver> [选项] < war directory>
[编辑]
使用您喜欢的文本处理器从GAE SDK打开 dev_appserver.cmd 脚本,并在 DevAppServerMain 定义后立即手动添加 - disable_update_check 选项。< / p>
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”选项开头。
[编辑]
对于Python:
在
打开python源代码[GAE_SDK_PY] /google/appengine/tools/dev_appserver_main.py
使用您喜欢的文本处理器,找到第227行,它看起来像
ARG_SKIP_SDK_UPDATE_CHECK:错误,
并用以下内容覆盖:
ARG_SKIP_SDK_UPDATE_CHECK: True,
希望这有帮助。
答案 2 :(得分:2)
作为更新,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)