我的系統上的ulimit是1024.我遇到過很多關於同樣錯誤但沒有具體答案的帖子。我也想知道這是否是node/node-mysql問題,而不是用我的代碼。我會後我的代碼在這裏的一個片段:Node.js node-mysql錯誤:EMFILE,打開的文件太多
exports.fn1 = function(req,res,host,user,password,database){
var client = connectDB.connectDatabase(host,user,password,database);
fn2();
function fn2() {
client.query(
'select statement', args,
function selectCb(error, result, fields) {
if (error) {
console.log('ERROR');
client.end();
return;
}
if(not timeout) {
setTimeout(function(){
fn2();
},5000);
}
else {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.write(somedata);
res.end();
client.end();
}
});
}
}
};
connectDB是我寫這確實數據庫連接
var Client = require('mysql').Client;
exports.connectDatabase = function(host,user,password,database) {
var client = new Client(); //Database connection object
//Credentials for DB connection
client.host = host;
client.user = user;
client.password = password;
client.database = database;
client.connect(function(error, results) {
if(error) {
console.log('Connection Error:');
return;
}
});
return client;
}
我做得不對這裏的node.js或者是它的驅動器的模塊/node.js問題?謝謝您的幫助!