我正在使用一个大型应用程序实例来运行一个基本的java web应用程序(GWT+Spring)。在我的应用程序(报表)中有一个昂贵的操作,它需要很长时间才能执行。
我试着在我的本地机器上用cloudbees SDK运行它,设置与在云上类似,它似乎运行得很好。它大约需要3-4分钟。
在云端,似乎需要更长的时间。问题不在于它需要很长时间。cloudbees在5分钟后终止了会话,并在浏览器中给我一个错误,说"无法连接到服务器"。请与管理员联系。一份不需要那么长时间的报告就可以了。我的应用程序有一个30分钟的会话超时,所以这也不是问题。
可能出了什么问题?这和云蜂有关吗?
这可能是由于通过路由层(revproxy)对请求进行代理缓冲,所以很可能不是会话超时,而是http连接被切断。
您可以通过bees CLI命令设置proxyBuffering=false(例如,在部署应用程序时),这将确保运行时间更长的连接可以工作。
然而,理想情况下,你可以稍微更改应用程序,用一些令牌返回浏览器,你可以用它来轮询以获得完成状态,因为即使连接持续那么长时间,在互联网上,与本地相比,它可能会提供糟糕的体验。