Đây thực sự là một mối quan tâm của MySQL chứ không phải Node.js. Bạn có thể sử dụng thuộc tính wait_timeout
của MySQL để tăng thời gian duy trì kết nối được mở.
Kiểm tra thêm chi tiết về thuộc tính này tại đây
Dưới đây là một ví dụ mã cho singleton của bạn sẽ tạo một kết nối mới khi kết nối hiện tại bị đóng. Trong trường hợp này, bạn sẽ không bao giờ có nhiều hơn 1 kết nối đang hoạt động nếu bạn luôn sử dụng App Singleton để nhận kết nối:
getConnection: function() {
var app = common.model.connections.App.getInstance();
if(!app.connection.isConnected()){
//connect if connection is closed.
app.connection.connect();
}
return app.connection;
}