昨天,最终我在高峰时段遇到了所有API服务器的奇怪问题。有下面提到的间歇性错误。我正在使用该应用程序的几个第三方服务。应用程序使用的一些服务是newrelic,airbrake,pusher等。
堆栈:
Node v0.12.2
pm2 2.4.5
request module: 2.81.0
错误:
Uncaught TypeError: msecs must be a number
at Object.exports.enroll (timers.js:156:11)
at Socket.setTimeout (net.js:329:12)
at ClientRequest.<anonymous> (_http_client.js:558:10)
at ClientRequest.g (events.js:199:16)
at ClientRequest.emit (events.js:129:20)
at tickOnSocket (_http_client.js:486:7) at _http_client.js:497:7 at process._tickCallback (node.js:355:11)
Errors in airbrake:
Error: msecs must be a number
timers.js:156 in Object.exports.enroll
net.js:337 in Socket.setTimeout
_http_client.js:565
events.js:199 in ClientRequest.g
events.js:129 in ClientRequest.emit
_http_client.js:493 in tickOnSocket
_http_client.js:504
node.js:381 in process._tickDomainCallback
我已经尝试过的东西,但没有任何帮助。这些错误持续了12-15个小时。
尝试在我使用请求配置的情况下添加以下请求超时。
var request = require('request') request = request.defaults({timeout:120000})
尝试使用节点运行app.js.
过去3小时内未再发生错误。我无法找到RCA,也不确定它是否在高峰时段重新出现。
任何想法都会受到赞赏。