如何使用来自Java / Python Web cron的聋人请求来运行App Engine / Java应用程序?

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

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

但是有一个问题。 。 。

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

所以我的想法是ping应用程序但不等待响应。 我通过从浏览器访问该站点来手动模拟,发出请求并立即关闭浏览器 – 它似乎使应用程序保持活跃状态​​。

有关在Python或Java web cron中实现此目的的任何建议(我假设Python解决方案会更简单)?

使用App Engine内置的cron可能更容易使应用程序保持活动状态。

我想你想要的只是:

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

最简单的Java http pinger:

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

App引擎还有一个新的PAYfunction,您可以将其“永远打开”。 每天花费约0.30美元。 如果您不介意支付该function,只需进入您的结算设置并启用它即可。 我相信它可以保证至少有3个实例始终在运行。

(我没有意识到击中/ pingurl导致实例旋转会导致超过30秒的限制!)