Skip to content

Commit

Permalink
[chore] refactor database pool (#858)
Browse files Browse the repository at this point in the history
  • Loading branch information
Bernardo Vieira authored Sep 5, 2023
1 parent c672061 commit c648b82
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 10 deletions.
12 changes: 10 additions & 2 deletions packages/core/src/config/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,16 @@ export default {
lambda: validatedEnv.AWS_LAMBDA
},

/**
* database pool config
*/
databasePool: {
max: validatedEnv.DATABASE_POOL_MAX_CONNECTIONS,
acquire: validatedEnv.DATABASE_POOL_ACQUIRE,
idle: validatedEnv.DATABASE_POOL_IDLE,
evict: validatedEnv.DATABASE_POOL_EVICT
},

/**
* Cloudfront URL to be useed
*/
Expand Down Expand Up @@ -161,7 +171,5 @@ export default {
daysToLimitUsers: validatedEnv.DAYS_TO_LIMIT_USERS,
cronJobBatchSize: validatedEnv.CRON_JOB_BATCH_SIZE,

maxDatabasePoolConnections: validatedEnv.MAX_DATABASE_POOL_CONNECTIONS,

communityResponseTimeout: validatedEnv.COMMUNITY_RESPONSE_TIMEOUT
};
7 changes: 6 additions & 1 deletion packages/core/src/config/validatenv.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,12 @@ function validateEnv() {
INTERVAL_BETWEEN_LESSONS: num({ default: 7 }),
DAYS_TO_LIMIT_USERS: num({ default: 30 }),
CRON_JOB_BATCH_SIZE: num({ default: 20 }),
MAX_DATABASE_POOL_CONNECTIONS: num({ default: 20 }),
// database pool config
DATABASE_POOL_MAX_CONNECTIONS: num({ default: 5 }),
DATABASE_POOL_ACQUIRE: num({ default: 60000 }),
DATABASE_POOL_IDLE: num({ default: 10000 }),
DATABASE_POOL_EVICT: num({ default: 1000 }),
//
COMMUNITY_RESPONSE_TIMEOUT: num({ default: 50000 }),
ASSETS_ADDRESS: str({ default: '[{ "address": "xyz", "asset": "xyz" }]' })
});
Expand Down
8 changes: 1 addition & 7 deletions packages/core/src/database/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,13 @@ if (process.env.NODE_ENV === 'development') {
const dbConfig: Options = {
dialect: 'postgres',
dialectOptions: {
connectTimeout: 60000,
ssl: {
require: true,
rejectUnauthorized: false
}
},
dialectModule: pg,
pool: {
max: config.maxDatabasePoolConnections,
min: 0,
acquire: 60000,
idle: 15000
},
pool: config.databasePool,
protocol: 'postgres',
native: !config.aws.lambda, // if lambda = true, then native = false
logging,
Expand Down

0 comments on commit c648b82

Please sign in to comment.