繁体   English   中英

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

[英]How to keep an App Engine/Java app running with deaf requests from a Java/Python web cron?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM