diff --git a/src/config.ts b/src/config.ts index c680c23..e1c3cba 100644 --- a/src/config.ts +++ b/src/config.ts @@ -87,7 +87,8 @@ addDefaults(config, { user: "", host: "", password: "", - port: 5432 + port: 5432, + readTimeout: 250 }, dumpDatabase: { enabled: false, diff --git a/src/databases/Postgres.ts b/src/databases/Postgres.ts index dca5a46..be78b6e 100644 --- a/src/databases/Postgres.ts +++ b/src/databases/Postgres.ts @@ -32,7 +32,6 @@ export class Postgres implements IDatabase { private poolRead: Pool; private lastPoolReadFail = 0; - private readTimeout = 150; private maxTries = 3; @@ -116,7 +115,7 @@ export class Postgres implements IDatabase { pendingQueries.push(savePromiseState(lastPool.query({ text: query, values: params }))); const currentPromises = [...pendingQueries]; - if (options.useReplica) currentPromises.push(savePromiseState(timeoutPomise(this.readTimeout))); + if (options.useReplica) currentPromises.push(savePromiseState(timeoutPomise(this.config.postgresReadOnly.readTimeout))); const queryResult = await nextFulfilment(currentPromises); switch (type) { diff --git a/src/types/config.model.ts b/src/types/config.model.ts index 47b3108..8b6bbd1 100644 --- a/src/types/config.model.ts +++ b/src/types/config.model.ts @@ -11,6 +11,7 @@ export interface CustomPostgresConfig extends PoolConfig { export interface CustomPostgresReadOnlyConfig extends CustomPostgresConfig { weight: number; + readTimeout: number; } export interface SBSConfig {