我想从AWS Lambda (托管nodejs)使用mysql。
当几分钟内没有新请求出现时,Lambda会自动终止nodejs实例。由于这种Lambda行为,我不想调用end(),因为否则它会将每个请求转换为connect-use-end循环。我希望连接(或池)在多个请求上存在。
如果不调用connection.end()并终止实例,会有问题吗?(会不会有泄漏之类的东西)
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
database : 'my_db'
});
connection.connect();
index.handler = function(){
connection.query('SELECT x', function(err, rows, fields) {
// do something here
});
};
// * cannot call because potential incoming request still need to use.
// connection.end();发布于 2016-06-02 23:00:19
在某些时候,你可能会收到“连接太多”的错误。
在此之前,您最好的选择是在同一调用中打开和关闭连接。
连接池是一个需要有效重用lamdba容器的用例,也是aws上的一个未决功能请求。
https://stackoverflow.com/questions/37517664
复制相似问题