防止Node.js在长数据库请求时超时

时间:2016-04-07 06:58:43

标签: node.js

我正在运行一个带有Express.js和'mysql'包的Node.js服务器来进行数据库调用。此服务器向外部计算机上的MySQL数据库发出请求。这些请求涉及大型连接被执行,并且需要很长时间,这是我期望的。遗憾的是,Node不耐烦,即使对于我的目的,这些DB调用需要很长时间,Node会在DB调用上返回超时错误状态,而不是耐心地等待数据返回。这是可配置的吗?如何让Node耐心等待?注意,我知道MySQL正确地返回查询,因为发出相同查询的Apache / PHP服务器从MySQL接收到正确的响应而没有超时。

1 个答案:

答案 0 :(得分:3)

您可以在进行查询时使用可选的timeout选项

connection.query({sql: sqlString, timeout: 60000}, function () { ... });

Reference