我使用$。使用ajax方法从服务器获取数据,但遇到"连接超时错误504"。
我的应用程序是web应用程序部署在Apache-Tomcat服务器上。在后端,我使用"Runtime.getRuntime().exec(command)"运行命令。"
执行hadoop命令。即使在出现错误之后,命令也会成功运行并创建输出文件。整个过程大约需要3分钟
我已经做了以下事情来解决这个问题-
1.Modified $.ajax keeping timeout: 300000(ms)
2.Modified session timout in <Project>/WebContent/WEB-INF/web.xml
<session-config>
<session-timeout>-1</session-timeout>
</session-config>
3.Modified server.xml for infinite timout limit apache-tomcat-7.0.53/home/hduser/apache-tomcat-7.0.53/conf
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="-1"
redirectPort="8443" />
4.Modified web.xml for infinite timeout limit apache-tomcat-7.0.53/home/hduser/apache-tomcat-7.0.53/conf
<session-config>
<session-timeout>-1</session-timeout>
</session-config>
我仍然收到"连接超时错误504"。
感谢您的帮助
谢谢Nirav
我认为最好将长时间的任务分成两部分进行在线申请:
- 触发任务,中间返回唯一的任务id。
- 稍后使用任务id检索结果。