如何保持一个App Engine / Java应用程序从一个Java / Python网络的cron

2019-06-25 15:03发布

  1. App Engine中,您可以30秒加载应用程序
  2. 我的应用程序需要大约30秒 - 有时多,有时少。 我不知道如何解决这个问题。
  3. 如果应用程序处于空闲状态(没有收到任何请求)时,它需要被重新加载。

因此,为了避免应用程序需要重新加载,我想每隔一段时间查验程序来模拟用户活动。

但有一个问题。 。 。

如果我平的应用程序,它已经被App Engine的卸载,我的Web请求将是应用程序的第一个请求和应用程序将尝试重新加载。 这可能需要更长的时间超过30秒,超过装填时间限制。

所以我的想法是ping该应用程序,但不会等待响应。 我有模拟这种手动从浏览器去到现场,提出请求,并立即关闭浏览器 - 它似乎以保持应用程序活着。

一个很好的方式在Python或Java的Web cron来做到这一点的任何建议(我假设一个Python的解决方案会更简单)?

Answer 1:

它可能会更容易使用内置到App Engine的cron ,让您的应用程序正常工作。



Answer 2:

我想你想要的东西就是:

import httplib
hcon = httplib.HTTPConnection("foo.appspot.com")
hcon.request("GET", "/someURL")
hcon.close()


Answer 3:

最简单的Java HTTP瓶儿:

URLConnection hcon = new URL("http://www.google.com").openConnection();
hcon.connect();
hcon.getInputStream().read();


Answer 4:

应用程序引擎也有一个新的薪酬功能,您可以把它“永远在线”。 售价约$ 0.30美元一天美分。 刚进入结算设置并启用它,如果你不介意多付的功能。 我相信它保证你至少3个实例始终运行。

(我不知道打造成一个实例旋转起来会导致它超过30秒极限/ ping网址!)



文章来源: How to keep an App Engine/Java app running with deaf requests from a Java/Python web cron?