badmfck-api-server 1.2.2 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -42,7 +42,7 @@ async function Initializer(services) {
42
42
  exports.Initializer = Initializer;
43
43
  class APIService extends BaseService_1.BaseService {
44
44
  static nextLogID = 0;
45
- version = "1.2.2";
45
+ version = "1.2.3";
46
46
  options;
47
47
  netLog = [];
48
48
  constructor(options) {
@@ -37,6 +37,7 @@ export declare class MysqlService extends BaseService {
37
37
  pool: Pool | null;
38
38
  options: MysqlServiceOptions;
39
39
  serviceStarted: boolean;
40
+ timeoutID: any;
40
41
  queries: never[];
41
42
  constructor(options: MysqlServiceOptions);
42
43
  static executeQuery(query: MySqlQuery | MySqlQuery[]): Promise<MysqlResult[]>;
@@ -16,6 +16,7 @@ class MysqlService extends BaseService_1.BaseService {
16
16
  pool = null;
17
17
  options;
18
18
  serviceStarted = false;
19
+ timeoutID;
19
20
  queries = [];
20
21
  constructor(options) {
21
22
  super("mysql");
@@ -44,7 +45,9 @@ class MysqlService extends BaseService_1.BaseService {
44
45
  if (!ok) {
45
46
  if (this.options.onLog)
46
47
  this.options.onLog(2, "Mysql server not connected, retrying in 3 sec");
47
- setTimeout(() => { this.recreatePool(); }, 3000);
48
+ if (this.timeoutID)
49
+ clearTimeout(this.timeoutID);
50
+ this.timeoutID = setTimeout(() => { this.recreatePool(); }, 3000);
48
51
  }
49
52
  else {
50
53
  this.serviceStarted = true;
@@ -136,10 +139,6 @@ class MysqlService extends BaseService_1.BaseService {
136
139
  });
137
140
  return;
138
141
  }
139
- this.pool.on("error", (evt) => {
140
- if (this.options.onLog)
141
- this.options.onLog(2, `${evt}`);
142
- });
143
142
  this.pool.getConnection((err, conn) => {
144
143
  if (err) {
145
144
  if (this.options.onLog)
@@ -250,6 +249,19 @@ class MysqlService extends BaseService_1.BaseService {
250
249
  if (this.options.onLog)
251
250
  this.options.onLog(1, "Connecting to mysql: \n HOST: " + this.options.host + '\n USER:' + this.options.user + '\n PORT:' + this.options.port);
252
251
  let err = false;
252
+ if (this.pool) {
253
+ try {
254
+ this.pool.removeAllListeners();
255
+ this.pool.end(err => {
256
+ if (err && this.options.onLog)
257
+ this.options.onLog(2, err);
258
+ });
259
+ }
260
+ catch (e) {
261
+ if (this.options.onLog)
262
+ this.options.onLog(2, e);
263
+ }
264
+ }
253
265
  try {
254
266
  this.pool = mysql_1.default.createPool({
255
267
  connectionLimit: this.options.connectionLimit,
@@ -266,7 +278,12 @@ class MysqlService extends BaseService_1.BaseService {
266
278
  this.options.onLog(2, "Can't connect to MYSQL!");
267
279
  err = true;
268
280
  }
269
- 2;
281
+ if (!err && this.pool) {
282
+ this.pool.on("error", (evt) => {
283
+ if (this.options.onLog)
284
+ this.options.onLog(2, `${evt}`);
285
+ });
286
+ }
270
287
  return new Promise((res, rej) => {
271
288
  if (err) {
272
289
  res(false);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "badmfck-api-server",
3
- "version": "1.2.2",
3
+ "version": "1.2.3",
4
4
  "description": "Simple API http server based on express",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",