用户不活动2分钟获取信息“此请求导致为您的应用程序启动新进程”

时间:2015-12-02 06:19:58

标签: java google-app-engine gwt

我使用java和GWT在GAE上部署了我的应用程序。当我使用我的应用程序ID sample.sampleappId.appspot.com登录我的应用程序时。在我的应用程序中有很多形式,当我填写表格,如客户注册,然后如果我填写一半的表格,我停止填写表格,并在2,3分钟后,我继续保持填写表格然后我点击保存按钮然后在记录器我我正在获取信息

“此请求导致为您的应用程序启动了一个新进程,从而导致您的应用程序代码首次加载。因此,此请求可能需要更长的时间并且使用的CPU比典型的应用程序请求更多。”

我面对这么多时间。    为什么GAE会抛出这些信息。

我的appengine-web.xml: -

<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
  <application>sampleappId</application>
  <version>25</version>

  <!--
    Allows App Engine to send multiple requests to one instance in parallel:
  -->
  <threadsafe>true</threadsafe>
  <instance-class>F4_1G</instance-class>


  <!-- Configure serving/caching of GWT files -->
  <static-files>
    <include path="**" />

    <!-- The following line requires App Engine 1.3.2 SDK -->
    <include path="**.nocache.*" expiration="0s" />

    <include path="**.cache.*" expiration="365d" />
    <exclude path="**.gwt.rpc" />
  </static-files>
</appengine-web-app>

任何解决方案? 有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

这些是来自GAE基础的完全正常的INFO级别日志(不是警告或错误级别),表明相应的请求触发了新的GAE实例的启动。

您可以在Scaling dynamic instances doc中了解有关启动新实例的详情。

由于各种可能的原因,之前的实例生命也可能被缩短。在开发者控制台中检查应用程序的日志,看看是否确实如此,如果是,请获取详细信息。您可能需要/需要解决这些问题。

当我看到你的另一个问题How to call my app url from google app engine时,我意识到了另一种可能性。

如果您的应用直接从请求处理程序中向自己发出请求,则可以创建无限递归循环,从而强制GAE为每个此类请求生成新实例。日志中没有任何内容可能会显示在日志中,因为GAE仅在之后记录请求(至少在python沙箱中)。除非您在进行递归调用之前专门创建日志。最终阻止等待响应的实例(由于无限递归而永远不会发生)将被杀死,因为它们将超过请求截止日期。