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

RLH*_*RLH 11 python windows google-app-engine

我一直在修改GAE,我喜欢使用Windows SDK提供的GAE Launcher的易用性.

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

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

Kur*_*tal 15

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

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

如果您需要使用代理并且没有正确定义此变量,则GAE Launcher将锁定,直到连接超时,从而延迟程序的启动.

如果您创建一个名为http_proxywith 的新环境变量host_or_ip:port,GAE Launcher将在一眨眼之间启动.

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


sur*_*lac 5

在分叉新进程之前,请确保关闭所有GAE-java/python进程.在按下CTRL + C后,它们经常会卡住并消耗处理器时间和内存.


[编辑]

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

--disable_update_check
Run Code Online (Sandbox Code Playgroud)

选项.

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


[编辑]

使用您喜欢的文本处理器从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 %*
Run Code Online (Sandbox Code Playgroud)

下次从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, 
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.