Я получаю: RqlDriverError: ошибки тайм-аута рукопожатия каждый раз так часто блокируют мой кластер.RethinkDB: RqlDriverError: ошибки тайм-аута установления связи
стек ошибка:
{
"date": "Sun Dec 14 2014 07:59:14 GMT+0000 (Coordinated Universal Time)",
"process": {
"pid": 10664,
"uid": null,
"gid": null,
"cwd": "D:\\home\\site\\wwwroot",
"execPath": "D:\\Program Files (x86)\\nodejs\\0.10.32\\node.exe",
"version": "v0.10.32",
"argv": [
"node.exe",
"D:\\home\\site\\wwwroot\\server.js"
],
"memoryUsage": {
"rss": 31940608,
"heapTotal": 27892736,
"heapUsed": 14846880
}
},
"os": {
"loadavg": [
0,
0,
0
]
},
"trace": [
{
"column": 13,
"file": "D:\\home\\site\\wwwroot\\node_modules\\rethinkdb\\errors.js",
"function": "new RqlDriverError",
"line": 14,
"method": null,
"native": false
},
{
"column": 36,
"file": "D:\\home\\site\\wwwroot\\node_modules\\rethinkdb\\net.js",
"function": "null._onTimeout",
"line": 490,
"method": "_onTimeout",
"native": false
},
{
"column": 15,
"file": "timers.js",
"function": "Timer.listOnTimeout [as ontimeout]",
"line": 112,
"method": "listOnTimeout [as ontimeout]",
"native": false
}
],
"stack": [
"RqlDriverError: Handshake timedout",
" at new RqlDriverError (D:\\home\\site\\wwwroot\\node_modules\\rethinkdb\\errors.js:14:13)",
" at null._onTimeout (D:\\home\\site\\wwwroot\\node_modules\\rethinkdb\\net.js:490:36)",
" at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)"
],
"level": "error",
"message": "uncaughtException: Handshake timedout",
"timestamp": "2014-12-14T07:59:14.810Z"
}
открыть соединение, когда начинается запрос, затем закрыть в конце. Im используя следующее, чтобы открыть соединение:
function createConnection(req, res, next) {
r.connect(
{
host: 'myhost',
db: 'mydb',
authKey: 'mykey'
}, function(err, conn) {
if (err) {
throw err;
}
else {
// Save the connection in `req`
req.conn = conn;
_conn = req.conn;
// Pass the current request to the next middleware
next();
}
});
}
app.use(createConnection);
и следующие за маршрутами были обработаны
function closeConnection(req, res, next) {
if(req.conn){
req.conn.close();
}
next();
}
app.use(closeConnection);
Это лучший способ управления связью? Как я могу отслеживать более подробную информацию об этой ошибке.
Спасибо за ответ Майкл, вы действительно правы в следующем (err), но это только передача ошибки. К сожалению, это не препятствует изменению основной проблемы. – Chev