Node.js mysql pool issue
I've started to use pool connection to mysql, instead of using normal
connection with Node.js. Because I need to release connection after
process has finish. When connection keeps open, Node.js getting in
exception due to mysql timeout issue.
I've edited my code and not it gives me error like that in Line 94:
TypeError: Object #<Connection> has no method 'release'
at Query._callback (/usr/local/src/conn.js:94:28)
Above that line :
socket.on('getUnreadPM', function (msg) {
var userSocket = clients[msg.userDestID];
if (msg.lastGotMessage == 'none') {
post = 'Select * from messages where (destUserID=\'' +
msg.userDestID + '\' AND srcUserID=\'' + msg.userSrcID + '\') OR
(destUserID=\'' + msg.userSrcID + '\' AND srcUserID=\'' +
msg.userDestID + '\')';
} else {
post = 'Select * from messages where destUserID=\'' +
msg.userDestID + '\' AND srcUserID= \'' + msg.userSrcID + '\' AND
messageSendDate between \'' + msg.lastGotMessage + '\' and \'' +
msg.deviceCurrentTime + '\' AND messageSendDate > \'' +
msg.lastGotMessage + '\' order by messageSendDate';
}
pool.getConnection(function (err, connection) {
// Use the connection
connection.query(post, function (error, results, fields) {
// And done with the connection.
if (results.length > 0) {
if (typeof userSocket !== 'undefined') {
var boolData = results[0];
//console.log('bool data lenght : ',results.length);
var messageID = new Array();
var srcUserID = new Array();
var destUserID = new Array();
var messageContent = new Array();
var messageDate = new Array();
var didRead = new Array();
for (var i = 0; i < results.length; i++)
{
messageID.push(results[i].messageID);
srcUserID.push(results[i].srcUserID);
destUserID.push(results[i].destUserID);
messageContent.push(results[i].messageContent);
messageDate.push(dateFormat(results[i].messageSendDate,
"yyyy-mm-dd HH:MM:ss"));
didRead.push(results[i].didRead);
}
userSocket.emit('history :', {
'dataMode': 'history',
'srcUserID': srcUserID,
'destUserID': destUserID,
'messageContent': messageContent,
'messageSendDate': messageDate,
'didread': didRead
});
} else {
userSocket.emit('history :', {
'dataMode': 'none',
});
}
} else {
userSocket.emit('history :', {
'dataMode': 'none',
});
}
connection.release();
});
});
});
No comments:
Post a Comment