NodeJS和Mysql。 在终止之前不会调用connection.end()会被接受吗?

我想从AWS Lambda(托pipenodejs)使用mysql。

当没有新的请求出现几分钟时,nodejs实例将被Lambda自动终止。 由于这种Lambda行为,我不想调用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(); 

你可能最终得到“太多连接”的错误在某个时刻。

在此之前,您的最佳select是在同一个调用中打开和closures连接。

连接池是需要有效地重用lamdba容器的用例,并且是aws上的一个待定function请求。

https://forums.aws.amazon.com/thread.jspa?threadID=216000