Apache长时间运行进程内部超时

时间:2013-01-08 21:07:46

标签: java ajax apache2 tomcat7

我正在开发一个Web应用程序,允许用户远程在服务器上运行AI算法,以减少解决方案的等待时间。这是一个大纲。

Browser -> jQuery AJAX -> Apache2 proxy -> tomcat7 -> RESTful java -> Runtime.getRuntime().exec() -> command-line C algorithm

restful服务通过AJAX响应返回所需信息,并在浏览器上进行一些处理。

这适用于我测试过的大多数算法。但是,一些算法在运行很长时间后会超时。我已实现实时状态更新,因此算法仍在运行并在浏览器上不断生成输出,但在5分钟左右后,我收到500内部服务器错误。

从命令行终止算法进程也会导致500内部服务器错误。

直接从命令行运行算法可以正确执行。

向睡眠一小时的restful方法发送AJAX调用会导致503(Service Temporarily Unavailable)错误。

还有什么可能的原因?我一直在排除故障,并且目前完全没有想法。

感谢您的帮助!

- 编辑 -

我已经开发出一种有效解决问题的解决方法,但是,我仍然有兴趣知道其他人的想法。消除持久的AJAX调用并将其替换为通过备用状态文件检查算法状态的重复调用,可以使用长时间运行的进程。

但是,为什么我以前会遇到指定的AJAX调用问题永远不会超时..?

0 个答案:

没有答案