在后端执行命令时Ajax超时

时间:2014-05-30 07:49:46

标签: ajax timeout

我使用$ .ajax方法从服务器获取数据但面临连接超时错误504'。

我的应用程序是部署在Apache-Tomcat服务器上的Web应用程序。在后端,我使用" Runtime.getRuntime()。exec(命令)"

运行命令

该命令正在运行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&#39;。

感谢任何帮助

由于 Nirav

1 个答案:

答案 0 :(得分:0)

我认为最好将长时间的任务分为两部分进行在线申请:

  1. 触发任务,并在中间返回唯一的任务ID。
  2. 稍后使用任务ID检索结果。