- App Engine中,您可以30秒加载应用程序
- 我的应用程序需要大约30秒 - 有时多,有时少。 我不知道如何解决这个问题。
- 如果应用程序处于空闲状态(没有收到任何请求)时,它需要被重新加载。
因此,为了避免应用程序需要重新加载,我想每隔一段时间查验程序来模拟用户活动。
但有一个问题。 。 。
如果我平的应用程序,它已经被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瓶儿:
URLConnection hcon = new URL("http://www.google.com").openConnection();
hcon.connect();
hcon.getInputStream().read();
应用程序引擎也有一个新的薪酬功能,您可以把它“永远在线”。 售价约$ 0.30美元一天美分。 刚进入结算设置并启用它,如果你不介意多付的功能。 我相信它保证你至少3个实例始终运行。
(我不知道打造成一个实例旋转起来会导致它超过30秒极限/ ping网址!)
文章来源: How to keep an App Engine/Java app running with deaf requests from a Java/Python web cron?