2015-11-05 112 views
1

我有一个小的API根据请求运行子进程,并以最终输出作为响应。处理可能需要5-10-30分钟,没关系。但是,Express会在一段时间后断开连接,并记录下 POST /api/v1/check - - ms - -,即使子进程的输出仍在处理中,它永远不会返回到客户端。快速请求处理超时?

请求是用jQuery进行的。

我该如何正确使用这项工作?

谢谢。

回答

2

这可能是浏览器超时连接。您可以在使用jQuery进行ajax请求时设置超时值客户端。

jQuery timeout参数描述here可以设置为您选择的时间。

还有一种方法,服务器可以将一小块虚拟响应返回(在实际响应之前),以使浏览器不超时连接,但在这种情况下,如果您控制客户端,则更容易只是改变它的超时值。

服务器端,您可以通过设置服务器上的超时值来控制传入连接何时超时。在http模块的文档中描述了here

+0

谢谢,你的回答也帮助了我。 – Rodmentou

+0

这似乎没有用于我的特殊情况,但无论如何,非常有用! – fivepointseven

+0

@fivepointseven - 为什么它不适合你?如果您适当地设置客户端和服务器超时,您应该能够控制它。 – jfriend00