af-db-ts 2.0.5 → 2.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.graceExit = exports.closeAllDb = exports.logSqlError = void 0;
3
+ exports._1_HOUR = exports._3_HOURS = exports.graceExit = exports.closeAllDb = exports.logSqlError = void 0;
4
4
  const af_color_1 = require("af-color");
5
5
  const pg_pool_1 = require("./pg/pg-pool");
6
6
  const pool_ms_1 = require("./mssql/pool-ms");
@@ -32,4 +32,6 @@ const graceExit = async () => {
32
32
  process.exit(0);
33
33
  };
34
34
  exports.graceExit = graceExit;
35
+ exports._3_HOURS = 3600000 * 3; // 3 ч
36
+ exports._1_HOUR = 3600000; // 1 ч
35
37
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/common.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,0CAAuD;AACvD,6CAA0D;AAC1D,iDAAwC;AAEjC,MAAM,WAAW,GAAG,CAAC,GAAgB,EAAE,UAAoB,EAAE,OAAgB,EAAE,MAAe,EAAE,EAAE;IACvG,IAAI,MAAM,EAAE;QACV,qBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACtB;IACD,IAAI,OAAO,EAAE;QACX,qBAAM,CAAC,KAAK,CAAC,eAAe,kBAAO,GAAG,OAAO,EAAE,CAAC,CAAC;KAClD;IACD,qBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,EAAE;QACd,MAAM,GAAG,CAAC;KACX;AACH,CAAC,CAAC;AAXW,QAAA,WAAW,eAWtB;AAEK,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;IACnC,MAAM,IAAA,iCAAuB,GAAE,CAAC;IAChC,MAAM,IAAA,iCAAuB,GAAE,CAAC;AAClC,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAEF;;GAEG;AACI,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;IAClC,MAAM,IAAA,iCAAuB,GAAE,CAAC;IAChC,MAAM,IAAA,iCAAuB,GAAE,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/common.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,0CAAuD;AACvD,6CAA0D;AAC1D,iDAAwC;AAEjC,MAAM,WAAW,GAAG,CAAC,GAAgB,EAAE,UAAoB,EAAE,OAAgB,EAAE,MAAe,EAAE,EAAE;IACvG,IAAI,MAAM,EAAE;QACV,qBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACtB;IACD,IAAI,OAAO,EAAE;QACX,qBAAM,CAAC,KAAK,CAAC,eAAe,kBAAO,GAAG,OAAO,EAAE,CAAC,CAAC;KAClD;IACD,qBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,EAAE;QACd,MAAM,GAAG,CAAC;KACX;AACH,CAAC,CAAC;AAXW,QAAA,WAAW,eAWtB;AAEK,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;IACnC,MAAM,IAAA,iCAAuB,GAAE,CAAC;IAChC,MAAM,IAAA,iCAAuB,GAAE,CAAC;AAClC,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAEF;;GAEG;AACI,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;IAClC,MAAM,IAAA,iCAAuB,GAAE,CAAC;IAChC,MAAM,IAAA,iCAAuB,GAAE,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB;AAEW,QAAA,QAAQ,GAAG,OAAS,GAAG,CAAC,CAAC,CAAC,MAAM;AAChC,QAAA,OAAO,GAAG,OAAS,CAAC,CAAC,MAAM"}
@@ -36,6 +36,25 @@ const mssqlConfigs = config_1.default.get('db.postgres');
36
36
  const getDbConfigMs = (connectionId) => mssqlConfigs.dbs[connectionId];
37
37
  exports.getDbConfigMs = getDbConfigMs;
38
38
  exports.poolsCacheMs = {};
39
+ const defaultOptions = {
40
+ // node_modules/tedious/lib/connection.js:284
41
+ options: { enableArithAbort: false },
42
+ pool: {
43
+ max: 100,
44
+ min: 1,
45
+ idleTimeoutMillis: common_1._3_HOURS,
46
+ acquireTimeoutMillis: common_1._3_HOURS,
47
+ createTimeoutMillis: common_1._3_HOURS,
48
+ destroyTimeoutMillis: common_1._3_HOURS,
49
+ reapIntervalMillis: common_1._3_HOURS,
50
+ createRetryIntervalMillis: common_1._3_HOURS,
51
+ },
52
+ trustServerCertificate: true,
53
+ stream: false,
54
+ parseJSON: false,
55
+ requestTimeout: common_1._1_HOUR,
56
+ connectionTimeout: 2 * 60000, // 2 min
57
+ };
39
58
  /**
40
59
  * Возвращает пул соединений для БД, соответствующей преданному ID соединения (borf|cep|hr|global)
41
60
  * В случае, если не удается создать пул или открыть соединение, прерывает работу скрипта
@@ -74,10 +93,10 @@ const getPoolConnectionMs = async (connectionId, options = {}) => {
74
93
  if (!namedDbConfig) {
75
94
  resume(`Missing configuration for DB id "${connectionId}"`);
76
95
  }
77
- const dbConfig = config_1.default.util.extendDeep({}, dbOptions, namedDbConfig);
96
+ const dbConfig = config_1.default.util.extendDeep(defaultOptions, dbOptions, namedDbConfig);
78
97
  if (pool === null || pool === void 0 ? void 0 : pool.connecting) {
79
98
  const startTs = Date.now();
80
- while ((pool === null || pool === void 0 ? void 0 : pool.connecting) && (Date.now() - startTs < dbConfig.connectionTimeout)) {
99
+ while ((pool === null || pool === void 0 ? void 0 : pool.connecting) && (Date.now() - startTs < (dbConfig.connectionTimeout || defaultOptions.connectionTimeout))) {
81
100
  // eslint-disable-next-line no-await-in-loop
82
101
  await (0, af_tools_ts_1.sleep)(100);
83
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pool-ms.js","sourceRoot":"","sources":["../../../../src/mssql/pool-ms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool-ms.js","sourceRoot":"","sources":["../../../../src/mssql/pool-ms.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,29 @@ const config_1 = __importDefault(require("config"));
8
8
  const pg_1 = require("pg");
9
9
  const af_echo_ts_1 = require("af-echo-ts");
10
10
  const logger_error_1 = require("../logger-error");
11
+ const common_1 = require("../common");
11
12
  const pgConfigs = config_1.default.get('db.postgres');
13
+ const defaultOptions = {
14
+ // all valid client config options are also valid here
15
+ // in addition here are the pool specific configuration parameters:
16
+ // number of milliseconds to wait before timing out when connecting a new client
17
+ // by default this is 0 which means no timeout
18
+ connectionTimeoutMillis: 5 * 60000,
19
+ // number of milliseconds a client must sit idle in the pool and not be checked out
20
+ // before it is disconnected from the backend and discarded
21
+ // default is 10000 (10 seconds) - set to 0 to disable auto-disconnection of idle clients
22
+ idleTimeoutMillis: common_1._3_HOURS,
23
+ // maximum number of clients the pool should contain
24
+ // by default this is set to 10.
25
+ max: 10,
26
+ statement_timeout: common_1._3_HOURS,
27
+ query_timeout: common_1._3_HOURS, // number of milliseconds before a query call will timeout, default is no timeout
28
+ };
12
29
  exports.poolsCachePg = {};
13
30
  const getPoolPg = async (connectionId) => {
14
31
  if (!exports.poolsCachePg[connectionId]) {
15
- const poolConfig = { ...pgConfigs.options, ...pgConfigs.dbs[connectionId] };
32
+ const namedDbConfig = pgConfigs.dbs[connectionId];
33
+ const poolConfig = config_1.default.util.extendDeep(defaultOptions, pgConfigs.options || {}, namedDbConfig);
16
34
  const pool = new pg_1.Pool(poolConfig);
17
35
  exports.poolsCachePg[connectionId] = pool;
18
36
  pool.on('error', (err, client) => {
@@ -1 +1 @@
1
- {"version":3,"file":"pg-pool.js","sourceRoot":"","sources":["../../../../src/pg/pg-pool.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,2BAAkD;AAClD,2CAAkC;AAClC,kDAAyC;AAIzC,MAAM,SAAS,GAAG,gBAAM,CAAC,GAAG,CAAyC,aAAa,CAAC,CAAC;AAEvE,QAAA,YAAY,GAAuB,EAAE,CAAC;AAE5C,MAAM,SAAS,GAAG,KAAK,EAAE,YAAoB,EAAoB,EAAE;IACxE,IAAI,CAAC,oBAAY,CAAC,YAAY,CAAC,EAAE;QAC/B,MAAM,UAAU,GAAe,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACxF,MAAM,IAAI,GAAG,IAAI,SAAI,CAAC,UAAU,CAAY,CAAC;QAC7C,oBAAY,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,MAAkB,EAAE,EAAE;YAClD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACrB,qBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,MAAkB,EAAE,EAAE;YACxC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAkC,CAAC;YACnE,iBAAI,CAAC,KAAK,CAAC,cAAc,YAAY,qBAAqB,QAAQ,kBAAkB,SAAS,EAAE,CAAC,CAAC;QACnG,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAkB,EAAE,EAAE;YACvC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAkC,CAAC;YACnE,iBAAI,CAAC,KAAK,CAAC,cAAc,YAAY,mBAAmB,QAAQ,kBAAkB,SAAS,EAAE,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;KACtB;IACD,OAAO,oBAAY,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC,CAAC;AApBW,QAAA,SAAS,aAoBpB;AAEK,MAAM,WAAW,GAAG,KAAK,EAAE,YAAoB,EAAoB,EAAE;IAC1E,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,KAAK,CAAC;KACd;IACD,MAAM,IAAI,GAAG,oBAAY,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IACD,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;SAC9B,MAAM,CAAC,CAAC,MAAqB,EAAE,EAAE,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,KAAI,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAA,KAAK,UAAU,CAAC;SAC1F,GAAG,CAAC,CAAC,MAAqB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAChD,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAbW,QAAA,WAAW,eAatB;AAEK,MAAM,uBAAuB,GAAG,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAY,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAA9H,QAAA,uBAAuB,2BAAuG"}
1
+ {"version":3,"file":"pg-pool.js","sourceRoot":"","sources":["../../../../src/pg/pg-pool.ts"],"names":[],"mappings":"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"}
@@ -26,4 +26,6 @@ export const graceExit = async () => {
26
26
  await closeAllDbConnectionsMs();
27
27
  process.exit(0);
28
28
  };
29
+ export const _3_HOURS = 3600000 * 3; // 3 ч
30
+ export const _1_HOUR = 3600000; // 1 ч
29
31
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAgB,EAAE,UAAoB,EAAE,OAAgB,EAAE,MAAe,EAAE,EAAE;IACvG,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACtB;IACD,IAAI,OAAO,EAAE;QACX,MAAM,CAAC,KAAK,CAAC,eAAe,OAAO,GAAG,OAAO,EAAE,CAAC,CAAC;KAClD;IACD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,EAAE;QACd,MAAM,GAAG,CAAC;KACX;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;IACnC,MAAM,uBAAuB,EAAE,CAAC;IAChC,MAAM,uBAAuB,EAAE,CAAC;AAClC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;IAClC,MAAM,uBAAuB,EAAE,CAAC;IAChC,MAAM,uBAAuB,EAAE,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAgB,EAAE,UAAoB,EAAE,OAAgB,EAAE,MAAe,EAAE,EAAE;IACvG,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACtB;IACD,IAAI,OAAO,EAAE;QACX,MAAM,CAAC,KAAK,CAAC,eAAe,OAAO,GAAG,OAAO,EAAE,CAAC,CAAC;KAClD;IACD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,EAAE;QACd,MAAM,GAAG,CAAC;KACX;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;IACnC,MAAM,uBAAuB,EAAE,CAAC;IAChC,MAAM,uBAAuB,EAAE,CAAC;AAClC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;IAClC,MAAM,uBAAuB,EAAE,CAAC;IAChC,MAAM,uBAAuB,EAAE,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAS,GAAG,CAAC,CAAC,CAAC,MAAM;AAC7C,MAAM,CAAC,MAAM,OAAO,GAAG,OAAS,CAAC,CAAC,MAAM"}
@@ -2,10 +2,29 @@ import config from 'config';
2
2
  import { echo } from 'af-echo-ts';
3
3
  import * as sql from 'mssql';
4
4
  import { sleep } from 'af-tools-ts';
5
- import { logSqlError } from '../common';
5
+ import { logSqlError, _3_HOURS, _1_HOUR } from '../common';
6
6
  const mssqlConfigs = config.get('db.postgres');
7
7
  export const getDbConfigMs = (connectionId) => mssqlConfigs.dbs[connectionId];
8
8
  export const poolsCacheMs = {};
9
+ const defaultOptions = {
10
+ // node_modules/tedious/lib/connection.js:284
11
+ options: { enableArithAbort: false },
12
+ pool: {
13
+ max: 100,
14
+ min: 1,
15
+ idleTimeoutMillis: _3_HOURS,
16
+ acquireTimeoutMillis: _3_HOURS,
17
+ createTimeoutMillis: _3_HOURS,
18
+ destroyTimeoutMillis: _3_HOURS,
19
+ reapIntervalMillis: _3_HOURS,
20
+ createRetryIntervalMillis: _3_HOURS,
21
+ },
22
+ trustServerCertificate: true,
23
+ stream: false,
24
+ parseJSON: false,
25
+ requestTimeout: _1_HOUR,
26
+ connectionTimeout: 2 * 60000, // 2 min
27
+ };
9
28
  /**
10
29
  * Возвращает пул соединений для БД, соответствующей преданному ID соединения (borf|cep|hr|global)
11
30
  * В случае, если не удается создать пул или открыть соединение, прерывает работу скрипта
@@ -44,10 +63,10 @@ export const getPoolConnectionMs = async (connectionId, options = {}) => {
44
63
  if (!namedDbConfig) {
45
64
  resume(`Missing configuration for DB id "${connectionId}"`);
46
65
  }
47
- const dbConfig = config.util.extendDeep({}, dbOptions, namedDbConfig);
66
+ const dbConfig = config.util.extendDeep(defaultOptions, dbOptions, namedDbConfig);
48
67
  if (pool === null || pool === void 0 ? void 0 : pool.connecting) {
49
68
  const startTs = Date.now();
50
- while ((pool === null || pool === void 0 ? void 0 : pool.connecting) && (Date.now() - startTs < dbConfig.connectionTimeout)) {
69
+ while ((pool === null || pool === void 0 ? void 0 : pool.connecting) && (Date.now() - startTs < (dbConfig.connectionTimeout || defaultOptions.connectionTimeout))) {
51
70
  // eslint-disable-next-line no-await-in-loop
52
71
  await sleep(100);
53
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pool-ms.js","sourceRoot":"","sources":["../../../../src/mssql/pool-ms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool-ms.js","sourceRoot":"","sources":["../../../../src/mssql/pool-ms.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAE7B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG3D,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAyC,aAAa,CAAC,CAAC;AAEvF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,YAAoB,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAEtF,MAAM,CAAC,MAAM,YAAY,GAAuB,EAAE,CAAC;AAEnD,MAAM,cAAc,GAAiB;IACnC,6CAA6C;IAC7C,OAAO,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE;IACpC,IAAI,EAAE;QACJ,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,CAAC;QACN,iBAAiB,EAAE,QAAQ;QAC3B,oBAAoB,EAAE,QAAQ;QAC9B,mBAAmB,EAAE,QAAQ;QAC7B,oBAAoB,EAAE,QAAQ;QAC9B,kBAAkB,EAAE,QAAQ;QAC5B,yBAAyB,EAAE,QAAQ;KACpC;IACD,sBAAsB,EAAE,IAAI;IAC5B,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,KAAK;IAChB,cAAc,EAAE,OAAO;IACvB,iBAAiB,EAAE,CAAC,GAAG,KAAM,EAAE,QAAQ;CACxC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,YAAoB,EAAE,UAAuC,EAAE,EAAuC,EAAE;;IAChJ,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,SAAS,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;IAC/C,IAAI,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IACtC,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,EAAE;QACnB,OAAO,IAAI,CAAC;KACb;IACD,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE;QAChC,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACzB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;SACzB;IACH,CAAC,CAAC;IACF,IAAI;QACF,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,MAAa,CAAC;QACvC,IAAI,SAAc,CAAC;QACnB,IAAI,aAAkB,CAAC;QACvB,IAAI,QAAQ,EAAE;YACZ,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;YACvC,IAAI,CAAC,aAAa,EAAE;gBAClB,MAAM,CAAC,oCAAoC,YAAY,GAAG,CAAC,CAAC;aAC7D;YACD,SAAS,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;SACrC;aAAM,IAAI,EAAE,EAAE;YACb,aAAa,GAAG,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,KAAK,0CAAE,GAAG,0CAAG,YAAY,CAAC,CAAC;YAC/C,SAAS,GAAG,CAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,KAAK,0CAAE,OAAO,KAAI,EAAE,CAAC;SACtC;QACD,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,CAAC,oCAAoC,YAAY,GAAG,CAAC,CAAC;SAC7D;QACD,MAAM,QAAQ,GAAe,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAE9F,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAE;YACpB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,KAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,CAAC,QAAQ,CAAC,iBAAiB,IAAI,cAAc,CAAC,iBAAiB,CAAC,CAAC,EAAE;gBACpH,4CAA4C;gBAC5C,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;aAClB;YACD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,EAAE;gBACnB,OAAO,IAAI,CAAC;aACb;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,+BAA+B,YAAY,GAAG,CAAC,CAAC;SACpE;QACD,IAAI,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,MAAM,CAAC,iCAAiC,YAAY,GAAG,CAAC,CAAC;SAC1D;QACD,YAAY,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;QAClC,aAAa;QACb,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACpB,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACvB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChB,MAAM,CAAC,oBAAoB,YAAY,MAAM,CAAC,CAAC;KAChD;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,YAAmE,EAAE,MAAe,EAAE,MAAgB,EAAE,EAAE;IACnJ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAChC,aAAa;QACb,YAAY,GAAG,CAAC,YAAY,CAAC,CAAC;KAC/B;IACD,aAAa;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC5C,IAAI,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,YAAY,GAAW,EAAE,CAAC;QAC9B,IAAI,IAAI,EAAE;YACR,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,YAAY,GAAG,IAAI,CAAC;gBACpB,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;aACnC;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBACnC,aAAa;gBACb,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;aACnC;YACD,IAAI,YAAY,EAAE;gBAChB,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC;aACnC;YACD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;gBACtB,IAAI;oBACF,4CAA4C;oBAC5C,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;oBACnB,IAAI,CAAC,MAAM,IAAI,YAAY,EAAE;wBAC3B,MAAM,GAAG,GAAG,SAAS,YAAY,UAAU,CAAC;wBAC5C,IAAI,MAAM,EAAE;4BACV,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;yBACxB;6BAAM;4BACL,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBAChB;qBACF;iBACF;gBAAC,OAAO,GAAG,EAAE;oBACZ,EAAE;iBACH;aACF;SACF;KACF;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,MAAe,EAAE,MAAgB,EAAE,EAAE;IAC/E,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,MAAe,EAAE,MAAgB,EAAE,EAAE;IACjF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAAE,YAA+C,EAAE,MAAe,EAAE,EAAE;IAClH,MAAM,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAAE,YAA+C,EAAE,MAAe,EAAE,EAAE;IACpH,MAAM,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,YAAoB,EAAE,UAAoB,EAAE,EAAE;IAC5E,IAAI;QACF,OAAO,mBAAmB,CAAC,YAAY,CAAC,CAAC;KAC1C;IAAC,OAAO,GAAG,EAAE;QACZ,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,qCAAqC,YAAY,EAAE,CAAC,CAAC;KACnF;AACH,CAAC,CAAC"}
@@ -2,11 +2,29 @@ import config from 'config';
2
2
  import { Pool } from 'pg';
3
3
  import { echo } from 'af-echo-ts';
4
4
  import { logger } from '../logger-error';
5
+ import { _3_HOURS } from '../common';
5
6
  const pgConfigs = config.get('db.postgres');
7
+ const defaultOptions = {
8
+ // all valid client config options are also valid here
9
+ // in addition here are the pool specific configuration parameters:
10
+ // number of milliseconds to wait before timing out when connecting a new client
11
+ // by default this is 0 which means no timeout
12
+ connectionTimeoutMillis: 5 * 60000,
13
+ // number of milliseconds a client must sit idle in the pool and not be checked out
14
+ // before it is disconnected from the backend and discarded
15
+ // default is 10000 (10 seconds) - set to 0 to disable auto-disconnection of idle clients
16
+ idleTimeoutMillis: _3_HOURS,
17
+ // maximum number of clients the pool should contain
18
+ // by default this is set to 10.
19
+ max: 10,
20
+ statement_timeout: _3_HOURS,
21
+ query_timeout: _3_HOURS, // number of milliseconds before a query call will timeout, default is no timeout
22
+ };
6
23
  export const poolsCachePg = {};
7
24
  export const getPoolPg = async (connectionId) => {
8
25
  if (!poolsCachePg[connectionId]) {
9
- const poolConfig = { ...pgConfigs.options, ...pgConfigs.dbs[connectionId] };
26
+ const namedDbConfig = pgConfigs.dbs[connectionId];
27
+ const poolConfig = config.util.extendDeep(defaultOptions, pgConfigs.options || {}, namedDbConfig);
10
28
  const pool = new Pool(poolConfig);
11
29
  poolsCachePg[connectionId] = pool;
12
30
  pool.on('error', (err, client) => {
@@ -1 +1 @@
1
- {"version":3,"file":"pg-pool.js","sourceRoot":"","sources":["../../../../src/pg/pg-pool.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,IAAI,EAA0B,MAAM,IAAI,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAIzC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAyC,aAAa,CAAC,CAAC;AAEpF,MAAM,CAAC,MAAM,YAAY,GAAuB,EAAE,CAAC;AAEnD,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,YAAoB,EAAoB,EAAE;IACxE,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE;QAC/B,MAAM,UAAU,GAAe,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACxF,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAY,CAAC;QAC7C,YAAY,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,MAAkB,EAAE,EAAE;YAClD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACrB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,MAAkB,EAAE,EAAE;YACxC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAkC,CAAC;YACnE,IAAI,CAAC,KAAK,CAAC,cAAc,YAAY,qBAAqB,QAAQ,kBAAkB,SAAS,EAAE,CAAC,CAAC;QACnG,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAkB,EAAE,EAAE;YACvC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAkC,CAAC;YACnE,IAAI,CAAC,KAAK,CAAC,cAAc,YAAY,mBAAmB,QAAQ,kBAAkB,SAAS,EAAE,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;KACtB;IACD,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,YAAoB,EAAoB,EAAE;IAC1E,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,KAAK,CAAC;KACd;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IACD,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;SAC9B,MAAM,CAAC,CAAC,MAAqB,EAAE,EAAE,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,KAAI,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAA,KAAK,UAAU,CAAC;SAC1F,GAAG,CAAC,CAAC,MAAqB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAChD,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"pg-pool.js","sourceRoot":"","sources":["../../../../src/pg/pg-pool.ts"],"names":[],"mappings":"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"}
@@ -48,11 +48,11 @@ export interface IDbsPg {
48
48
  export interface IAFDatabasesConfig {
49
49
  db: {
50
50
  mssql: {
51
- options: IDbOptionsMs;
51
+ options?: IDbOptionsMs;
52
52
  dbs: IDbsMs;
53
53
  };
54
54
  postgres: {
55
- options: IDbOptionsPg;
55
+ options?: IDbOptionsPg;
56
56
  dbs: IDbsPg;
57
57
  };
58
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"i-config.d.ts","sourceRoot":"","sources":["../../../../src/@types/i-config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE;QACP,gBAAgB,EAAE,OAAO,CAAA;KAC1B,CAAC;IACF,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,iBAAiB,EAAE,MAAM,CAAA;QACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;KACpC,CAAC;IACF,sBAAsB,EAAE,OAAO,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,YAAY;IAK3B,uBAAuB,EAAE,MAAM,CAAC;IAIhC,iBAAiB,EAAE,MAAM,CAAC;IAG1B,GAAG,EAAE,EAAE,CAAC;IACR,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE;QACF,KAAK,EAAE;YACL,OAAO,EAAE,YAAY,CAAC;YACtB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,QAAQ,EAAE;YACR,OAAO,EAAE,YAAY,CAAC;YACtB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;CACH"}
1
+ {"version":3,"file":"i-config.d.ts","sourceRoot":"","sources":["../../../../src/@types/i-config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE;QACP,gBAAgB,EAAE,OAAO,CAAA;KAC1B,CAAC;IACF,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,iBAAiB,EAAE,MAAM,CAAA;QACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;KACpC,CAAC;IACF,sBAAsB,EAAE,OAAO,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,YAAY;IAK3B,uBAAuB,EAAE,MAAM,CAAC;IAIhC,iBAAiB,EAAE,MAAM,CAAC;IAG1B,GAAG,EAAE,EAAE,CAAC;IACR,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE;QACF,KAAK,EAAE;YACL,OAAO,CAAC,EAAE,YAAY,CAAC;YACvB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,QAAQ,EAAE;YACR,OAAO,CAAC,EAAE,YAAY,CAAC;YACvB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;CACH"}
@@ -4,4 +4,6 @@ export declare const closeAllDb: () => Promise<void>;
4
4
  * Закрывает все соединения с БД и завершает работу скрипта
5
5
  */
6
6
  export declare const graceExit: () => Promise<never>;
7
+ export declare const _3_HOURS: number;
8
+ export declare const _1_HOUR = 3600000;
7
9
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/common.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,QAAS,KAAK,GAAG,GAAG,eAAe,OAAO,YAAY,MAAM,WAAW,MAAM,SAWpG,CAAC;AAEF,eAAO,MAAM,UAAU,qBAGtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,sBAIrB,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/common.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,QAAS,KAAK,GAAG,GAAG,eAAe,OAAO,YAAY,MAAM,WAAW,MAAM,SAWpG,CAAC;AAEF,eAAO,MAAM,UAAU,qBAGtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,sBAIrB,CAAC;AAEF,eAAO,MAAM,QAAQ,QAAgB,CAAC;AACtC,eAAO,MAAM,OAAO,UAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pool-ms.d.ts","sourceRoot":"","sources":["../../../../src/mssql/pool-ms.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAIjF,eAAO,MAAM,aAAa,iBAAkB,MAAM,6CAAmC,CAAC;AAEtF,eAAO,MAAM,YAAY,EAAE,kBAAuB,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,iBAAwB,MAAM,YAAW,2BAA2B,KAAQ,QAAQ,cAAc,GAAG,SAAS,CA+D7I,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,iBAAwB,cAAc,GAAG,cAAc,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,WAAW,MAAM,WAAW,OAAO,kBAsChJ,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,YAAmB,MAAM,WAAW,OAAO,kBAG5E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,YAAmB,MAAM,WAAW,OAAO,kBAG9E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,iBAAwB,cAAc,GAAG,cAAc,EAAE,WAAW,MAAM,mBAG/G,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,iBAAwB,cAAc,GAAG,cAAc,EAAE,WAAW,MAAM,mBAGjH,CAAC;AAEF,eAAO,MAAM,SAAS,iBAAwB,MAAM,eAAe,OAAO,4CAMzE,CAAC"}
1
+ {"version":3,"file":"pool-ms.d.ts","sourceRoot":"","sources":["../../../../src/mssql/pool-ms.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAIjF,eAAO,MAAM,aAAa,iBAAkB,MAAM,6CAAmC,CAAC;AAEtF,eAAO,MAAM,YAAY,EAAE,kBAAuB,CAAC;AAsBnD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,iBAAwB,MAAM,YAAW,2BAA2B,KAAQ,QAAQ,cAAc,GAAG,SAAS,CA+D7I,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,iBAAwB,cAAc,GAAG,cAAc,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,WAAW,MAAM,WAAW,OAAO,kBAsChJ,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,YAAmB,MAAM,WAAW,OAAO,kBAG5E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,YAAmB,MAAM,WAAW,OAAO,kBAG9E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,iBAAwB,cAAc,GAAG,cAAc,EAAE,WAAW,MAAM,mBAG/G,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,iBAAwB,cAAc,GAAG,cAAc,EAAE,WAAW,MAAM,mBAGjH,CAAC;AAEF,eAAO,MAAM,SAAS,iBAAwB,MAAM,eAAe,OAAO,4CAMzE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pg-pool.d.ts","sourceRoot":"","sources":["../../../../src/pg/pg-pool.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAiB,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAI5E,eAAO,MAAM,YAAY,EAAE,kBAAuB,CAAC;AAEnD,eAAO,MAAM,SAAS,iBAAwB,MAAM,KAAG,QAAQ,OAAO,CAoBrE,CAAC;AAEF,eAAO,MAAM,WAAW,iBAAwB,MAAM,KAAG,QAAQ,OAAO,CAavE,CAAC;AAEF,eAAO,MAAM,uBAAuB,0BAAsG,CAAC"}
1
+ {"version":3,"file":"pg-pool.d.ts","sourceRoot":"","sources":["../../../../src/pg/pg-pool.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAiB,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAsB5E,eAAO,MAAM,YAAY,EAAE,kBAAuB,CAAC;AAEnD,eAAO,MAAM,SAAS,iBAAwB,MAAM,KAAG,QAAQ,OAAO,CAqBrE,CAAC;AAEF,eAAO,MAAM,WAAW,iBAAwB,MAAM,KAAG,QAAQ,OAAO,CAavE,CAAC;AAEF,eAAO,MAAM,uBAAuB,0BAAsG,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "af-db-ts",
3
- "version": "2.0.5",
3
+ "version": "2.0.7",
4
4
  "description": "A highly specialized function library",
5
5
  "main": "./dist/cjs/src/index.js",
6
6
  "module": "./dist/esm/src/index.js",
@@ -64,11 +64,11 @@ export interface IDbsPg {
64
64
  export interface IAFDatabasesConfig {
65
65
  db: {
66
66
  mssql: {
67
- options: IDbOptionsMs,
67
+ options?: IDbOptionsMs,
68
68
  dbs: IDbsMs,
69
69
  },
70
70
  postgres: {
71
- options: IDbOptionsPg,
71
+ options?: IDbOptionsPg,
72
72
  dbs: IDbsPg,
73
73
  },
74
74
  },
package/src/common.ts CHANGED
@@ -29,3 +29,6 @@ export const graceExit = async () => {
29
29
  await closeAllDbConnectionsMs();
30
30
  process.exit(0);
31
31
  };
32
+
33
+ export const _3_HOURS = 3_600_000 * 3; // 3 ч
34
+ export const _1_HOUR = 3_600_000; // 1 ч
@@ -4,7 +4,7 @@ import * as sql from 'mssql';
4
4
  import { ConnectionPool } from 'mssql';
5
5
  import { sleep } from 'af-tools-ts';
6
6
  import { IDbOptionsMs, IDbsMs } from '../@types/i-config';
7
- import { logSqlError } from '../common';
7
+ import { logSqlError, _3_HOURS, _1_HOUR } from '../common';
8
8
  import { IConnectionPoolsMs, TGetPoolConnectionOptionsMs } from '../@types/i-ms';
9
9
 
10
10
  const mssqlConfigs = config.get<{ options: IDbOptionsMs, dbs: IDbsMs }>('db.postgres');
@@ -13,6 +13,26 @@ export const getDbConfigMs = (connectionId: string) => mssqlConfigs.dbs[connecti
13
13
 
14
14
  export const poolsCacheMs: IConnectionPoolsMs = {};
15
15
 
16
+ const defaultOptions: IDbOptionsMs = {
17
+ // node_modules/tedious/lib/connection.js:284
18
+ options: { enableArithAbort: false },
19
+ pool: {
20
+ max: 100,
21
+ min: 1,
22
+ idleTimeoutMillis: _3_HOURS,
23
+ acquireTimeoutMillis: _3_HOURS,
24
+ createTimeoutMillis: _3_HOURS,
25
+ destroyTimeoutMillis: _3_HOURS,
26
+ reapIntervalMillis: _3_HOURS,
27
+ createRetryIntervalMillis: _3_HOURS,
28
+ },
29
+ trustServerCertificate: true,
30
+ stream: false,
31
+ parseJSON: false,
32
+ requestTimeout: _1_HOUR,
33
+ connectionTimeout: 2 * 60_000, // 2 min
34
+ };
35
+
16
36
  /**
17
37
  * Возвращает пул соединений для БД, соответствующей преданному ID соединения (borf|cep|hr|global)
18
38
  * В случае, если не удается создать пул или открыть соединение, прерывает работу скрипта
@@ -48,11 +68,11 @@ export const getPoolConnectionMs = async (connectionId: string, options: TGetPoo
48
68
  if (!namedDbConfig) {
49
69
  resume(`Missing configuration for DB id "${connectionId}"`);
50
70
  }
51
- const dbConfig = config.util.extendDeep({}, dbOptions, namedDbConfig);
71
+ const dbConfig: sql.config = config.util.extendDeep(defaultOptions, dbOptions, namedDbConfig);
52
72
 
53
73
  if (pool?.connecting) {
54
74
  const startTs = Date.now();
55
- while (pool?.connecting && (Date.now() - startTs < dbConfig.connectionTimeout)) {
75
+ while (pool?.connecting && (Date.now() - startTs < (dbConfig.connectionTimeout || defaultOptions.connectionTimeout))) {
56
76
  // eslint-disable-next-line no-await-in-loop
57
77
  await sleep(100);
58
78
  }
package/src/pg/pg-pool.ts CHANGED
@@ -4,14 +4,33 @@ import { echo } from 'af-echo-ts';
4
4
  import { logger } from '../logger-error';
5
5
  import { IDbOptionsPg, IDbsPg } from '../@types/i-config';
6
6
  import { IConnectionPoolsPg, IPoolClientPg, IPoolPg } from '../@types/i-pg';
7
+ import { _3_HOURS } from '../common';
7
8
 
8
9
  const pgConfigs = config.get<{ options: IDbOptionsPg, dbs: IDbsPg }>('db.postgres');
9
10
 
11
+ const defaultOptions: IDbOptionsPg = {
12
+ // all valid client config options are also valid here
13
+ // in addition here are the pool specific configuration parameters:
14
+ // number of milliseconds to wait before timing out when connecting a new client
15
+ // by default this is 0 which means no timeout
16
+ connectionTimeoutMillis: 5 * 60_000, // 5 min
17
+ // number of milliseconds a client must sit idle in the pool and not be checked out
18
+ // before it is disconnected from the backend and discarded
19
+ // default is 10000 (10 seconds) - set to 0 to disable auto-disconnection of idle clients
20
+ idleTimeoutMillis: _3_HOURS, // 3 h
21
+ // maximum number of clients the pool should contain
22
+ // by default this is set to 10.
23
+ max: 10,
24
+ statement_timeout: _3_HOURS, // number of milliseconds before a statement in query will time out, default is no timeout
25
+ query_timeout: _3_HOURS, // number of milliseconds before a query call will timeout, default is no timeout
26
+ };
27
+
10
28
  export const poolsCachePg: IConnectionPoolsPg = {};
11
29
 
12
30
  export const getPoolPg = async (connectionId: string): Promise<IPoolPg> => {
13
31
  if (!poolsCachePg[connectionId]) {
14
- const poolConfig: PoolConfig = { ...pgConfigs.options, ...pgConfigs.dbs[connectionId] };
32
+ const namedDbConfig = pgConfigs.dbs[connectionId];
33
+ const poolConfig: PoolConfig = config.util.extendDeep(defaultOptions, pgConfigs.options || {}, namedDbConfig);
15
34
  const pool = new Pool(poolConfig) as IPoolPg;
16
35
  poolsCachePg[connectionId] = pool;
17
36
  pool.on('error', (err: Error, client: PoolClient) => {