Ajuste na db-pool
This commit is contained in:
51
src/core/configs/dist/typeorm.oracle.config.js
vendored
51
src/core/configs/dist/typeorm.oracle.config.js
vendored
@@ -1,51 +0,0 @@
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
exports.createOracleConfig = void 0;
|
||||
var oracledb = require("oracledb");
|
||||
// Inicializar o cliente Oracle
|
||||
oracledb.initOracleClient({ libDir: "C:\\oracle" });
|
||||
// Definir a estratégia de pool padrão para Oracle
|
||||
oracledb.poolTimeout = 60; // timeout do pool em segundos
|
||||
oracledb.queueTimeout = 60000; // timeout da fila em milissegundos
|
||||
oracledb.poolIncrement = 1; // incremental de conexões
|
||||
function createOracleConfig(config) {
|
||||
// Obter configurações de ambiente ou usar valores padrão
|
||||
var poolMin = parseInt(config.get('ORACLE_POOL_MIN', '5'));
|
||||
var poolMax = parseInt(config.get('ORACLE_POOL_MAX', '20'));
|
||||
var poolIncrement = parseInt(config.get('ORACLE_POOL_INCREMENT', '5'));
|
||||
var poolTimeout = parseInt(config.get('ORACLE_POOL_TIMEOUT', '30000'));
|
||||
var idleTimeout = parseInt(config.get('ORACLE_POOL_IDLE_TIMEOUT', '300000'));
|
||||
// Validação de valores mínimos
|
||||
var validPoolMin = Math.max(1, poolMin);
|
||||
var validPoolMax = Math.max(validPoolMin + 1, poolMax);
|
||||
var validPoolIncrement = Math.max(1, poolIncrement);
|
||||
// Certifique-se de que poolMax é maior que poolMin
|
||||
if (validPoolMax <= validPoolMin) {
|
||||
console.warn('Warning: poolMax deve ser maior que poolMin. Ajustando poolMax para poolMin + 1');
|
||||
}
|
||||
var options = {
|
||||
type: 'oracle',
|
||||
connectString: config.get('ORACLE_CONNECT_STRING'),
|
||||
username: config.get('ORACLE_USER'),
|
||||
password: config.get('ORACLE_PASSWORD'),
|
||||
synchronize: false,
|
||||
logging: config.get('NODE_ENV') === 'development',
|
||||
entities: [__dirname + '/../**/*.entity.{ts,js}'],
|
||||
extra: {
|
||||
// Configurações de pool
|
||||
poolMin: validPoolMin,
|
||||
poolMax: validPoolMax,
|
||||
poolIncrement: validPoolIncrement,
|
||||
poolTimeout: Math.floor(poolTimeout / 1000),
|
||||
queueTimeout: 60000,
|
||||
enableStats: true,
|
||||
homogeneous: true,
|
||||
poolPingInterval: 60,
|
||||
stmtCacheSize: 30,
|
||||
connectionClass: 'PORTALJURU',
|
||||
idleTimeout: Math.floor(idleTimeout / 1000)
|
||||
}
|
||||
};
|
||||
return options;
|
||||
}
|
||||
exports.createOracleConfig = createOracleConfig;
|
||||
45
src/core/configs/dist/typeorm.postgres.config.js
vendored
45
src/core/configs/dist/typeorm.postgres.config.js
vendored
@@ -1,45 +0,0 @@
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
exports.createPostgresConfig = void 0;
|
||||
function createPostgresConfig(config) {
|
||||
// Obter configurações de ambiente ou usar valores padrão
|
||||
var poolMin = parseInt(config.get('POSTGRES_POOL_MIN', '5'));
|
||||
var poolMax = parseInt(config.get('POSTGRES_POOL_MAX', '20'));
|
||||
var idleTimeout = parseInt(config.get('POSTGRES_POOL_IDLE_TIMEOUT', '30000'));
|
||||
var connectionTimeout = parseInt(config.get('POSTGRES_POOL_CONNECTION_TIMEOUT', '5000'));
|
||||
var acquireTimeout = parseInt(config.get('POSTGRES_POOL_ACQUIRE_TIMEOUT', '60000'));
|
||||
// Validação de valores mínimos
|
||||
var validPoolMin = Math.max(1, poolMin);
|
||||
var validPoolMax = Math.max(validPoolMin + 1, poolMax);
|
||||
var validIdleTimeout = Math.max(1000, idleTimeout);
|
||||
var validConnectionTimeout = Math.max(1000, connectionTimeout);
|
||||
var validAcquireTimeout = Math.max(1000, acquireTimeout);
|
||||
var options = {
|
||||
type: 'postgres',
|
||||
host: config.get('POSTGRES_HOST'),
|
||||
port: parseInt(config.get('POSTGRES_PORT', '5432')),
|
||||
username: config.get('POSTGRES_USER'),
|
||||
password: config.get('POSTGRES_PASSWORD'),
|
||||
database: config.get('POSTGRES_DB'),
|
||||
synchronize: config.get('NODE_ENV') === 'development',
|
||||
entities: [__dirname + '/../**/*.entity.{ts,js}'],
|
||||
ssl: config.get('NODE_ENV') === 'production' ? { rejectUnauthorized: false } : false,
|
||||
logging: config.get('NODE_ENV') === 'development',
|
||||
poolSize: validPoolMax,
|
||||
extra: {
|
||||
// Configuração de pool do PostgreSQL
|
||||
min: validPoolMin,
|
||||
max: validPoolMax,
|
||||
idleTimeoutMillis: validIdleTimeout,
|
||||
connectionTimeoutMillis: validConnectionTimeout,
|
||||
acquireTimeoutMillis: validAcquireTimeout,
|
||||
statement_timeout: 10000,
|
||||
query_timeout: 10000
|
||||
},
|
||||
cache: {
|
||||
duration: 60000
|
||||
}
|
||||
};
|
||||
return options;
|
||||
}
|
||||
exports.createPostgresConfig = createPostgresConfig;
|
||||
Reference in New Issue
Block a user