Tag: 连接超时

Node.js:http请求在1分钟后超时

我正在使用Node.js(版本0.10.28)来为我的Ruby API提供大量的数据(来自PostgreSQL数据库的21,000行)的http.request 。 问题是请求似乎超时并在1分钟后返回404错误。 我知道这是真的,因为Ruby API返回61秒的请求,我时间节点的请求花费多less时间(结果在60秒和404)。 但是,如果我使用jQuery的$.ajax超时4分钟,我可以得到我的21,000行。 很明显,它不可能是一个404,作为其他方式获取数据的工作。 我也有点困惑,因为在我看来, http.request是不应该超时,直到2分钟后,根据: Node.js文档 GitHub问题#1 GitHub问题#2 我已经尝试了几件事情来做到这一点,包括:设置快递的中间件 ; 侦听套接字超时并恢复请求; 并将超时设置为0,所以没有超时。 不幸的是,这些方式都没有奏效,至less从我所理解的方面来看是如此。 为了清楚起见,这是我的代码…设置限制意味着只返回18000条logging,这似乎是API的截止时间超过60秒: var http = require('http'); var options = { path: '/api/records.json?limit=18000', method: 'GET', host: 'localhost', requestCert: true, rejectUnauthorized: false }; var req = http.request(options, function(res) { var endDate = new Date(); console.log('done', endDate – startDate); var output […]

连续的RequestError:SqlContext错误。 步骤“GetData”失败:“超时:请求在15000ms内未能完成

我正尝试从节点服务器使用系列文件在我的SQL数据库上运行存储过程。 但是我得到follwoing错误,我不知道为什么。 我真的很感激你的帮助。 错误:{[RequestError:SqlContext错误。 失败的步骤“GetData”:“超时:请求未能完成我15000ms”]名称:'RequestError',消息:'SqlContext错误。 失败的步骤“GetData”:“超时请求未能在15000ms内完成”,代码:'ETIMEOUT',号码:'ETIMEOUT',lineNumber:undefined,状态:undefined,class:undefined,serverName:undefined,procName:undefined ,beforeErrors:[],step:'GetData'} 这是我的代码: var sql = require( "seriate" ); var connection = { name: "example-1", user: "user", password: "pass", host: "host_ip", database: "Test" }; exports.getDataSql = function(req, res) { var results = {}; sql.execute( connection, { procedure: "GetData", params: { Name: { type: sql.NVARCHAR(50), val: "user2" }, LName: { type: […]

避免Oriento查询超时(OrientDB的node.js驱动程序)

鉴于下面的node.js + oriento示例代码,我有一个运行到超时的问题, [OrientDB.ConnectionError [2]: read ETIMEDOUT] ,第一次在长时间不活动期间后进行数据库查询。 超时错误后,连接以某种方式重新初始化,下一个查询运行良好。 var oriento = require("oriento"), server = oriento({…}), db = server.use("users"); var getData = function(statement, opts, callback) { db.query(statement, opts).then(function(data) { callback(null, data); }).catch(callback); }; 所以我有以下问题: 这是正确的方法,或者我应该调用oriento({…}).use("users")每次我做一个查询,而不是重用连接对象? 如果这是正确的方法,为什么连接不被validation和自动刷新? 我怎么手动检查,我不会进入超时(即validation连接),并强制连接刷新?

debuggingnodejspipe道ERR_EMPTY_RESPONSE

我有一个单独的页面应用程序运行nodejs + express 4.0,该应用程序是一个过滤程序,让用户select一些目标人口进行数据分析,然后一旦用户点击提交,应用程序将发送filter作为JSON节点服务器那么服务器会将POST请求传递给另一个运行R的服务器,并执行一些计算,然后将结果文件发回给应用程序进行下载。 对于小而快的计算运行良好,但对于大型数据集,我一直在chrome上获取ERR_EMPTY_RESPONSE,没有附加的错误代码。 我用下面的代码在节点上的pipe道上做了一个日志 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); 而且我能够logging来自R服务器的响应头文件,即使我在Chrome上也收到了错误页面,所以我认为它不是节点就是快速连接。 我正在使用连接超时快递4.0,并设置下面的代码 app.use(timeout('1800s')); 但似乎没有做任何事情,几分钟后连接仍然超时。 所以我的问题是什么可能是在这里的门控项目? 还是有其他的东西我应该设置在节点层面,而不是expression? 提前感谢您的帮助。 PS同样的问题与Firefox和IE,但似乎他们等一会儿,而不是得到ERR_EMPTY_RESPONSE,FF和IE只是空白页面,并停止加载完全。