调试nodejs管道ERR_EMPTY_RESPONSE

时间:2015-09-28 22:30:06

标签: node.js express httprequest connect-timeout

我有一个运行在nodejs + express 4.0上的单页应用程序,该应用程序是一个过滤程序,让用户选择一些目标人口进行数据分析,然后一旦用户点击提交,该应用程序将过滤器作为JSON发送到然后,服务器将POST请求传递给运行R的另一个服务器并进行一些计算并发送回应用程序的结果文件以供下载。 对于小而快的计算运行正常,但对于大型数据集,我一直在chrome上获得ERR_EMPTY_RESPONSE而没有其他错误代码。我使用以下代码

登录节点中的管道
  request.post({url:RSS.R, form:params,forever:true,timeout:10*60*1000},function(err,http,body){
    console.log(err);
    console.log(http.headers);
  }).pipe(res);

即使我在Chrome上获得错误页面,我也可以从R服务器记录响应标头,所以我认为它是节点或快递是超时我的连接。 我正在使用带有connect-timeout的express 4.0并设置以下代码

app.use(timeout('1800s'));

但它似乎没有做任何事情,几分钟后连接仍然超时。

所以我的问题是这里的门控项目是什么?或者我应该在节点级别而不是表达式设置其他内容吗?

非常感谢您的帮助。

P.S与Firefox和IE相同的问题,但似乎他们等待的时间更长,而不是获得ERR_EMPTY_RESPONSE,FF和IE只是空白页面并完全停止加载。

0 个答案:

没有答案