Я использую Observables для отображения данных в реальном времени в приложении angular2 +, а бэкэнд написан на NodeJs, который использует базу данных mysql.Так как я использую Observables, мне нужны десятки миллионов соединений mysql для продолжения работы в реальном времени.Но невозможно приобрести так много связей.Поэтому я использовал пул, где соединение создается из пула соединений.Однако я не могу это реализовать.Я все еще получаю сообщение об ошибке:
Ошибка: ER_CON_COUNT_ERROR: слишком много подключений "
Пожалуйста, помогите мне закрыть подключение, чтобы число подключений не превышало нумерацию.
код переднего конца
angular.component.ts
Observable.interval(10000).subscribe(x => {
this.viewData(Val);
// more functions
console.log(" Observable")
});
код узлаJS
dashboard.service.js
function viewData(data) {
var sqlQuery = `
select * from TRANSACTION_PAYLOAD where INTERFACE_NAME = 'Highmark' AND (STATUS ='SUCCESS_RESPONSE')`
var deferred = Q.defer();
console.log("INSIDE NODE JS SERVICE");
var host = config.host;
var user = config.user;
var password = config.password;
var database = config.database;
var con = mysql.createPool({
host: host,
user: user,
password: password,
database: database
});
con.getConnection(function (err) {
console.log("Inside .getConnection ")
if (err) deferred.reject(err.name + ': ' + err.message);
con.query(sqlQuery,
function (err, result, fields) {
if (err) deferred.reject(err.name + ': ' + err.message);
console.log(result);
deferred.resolve(result);
});
});
return deferred.promise;
con.close();
}