mirror of
https://github.com/fosrl/pangolin.git
synced 2025-12-14 12:08:11 +00:00
Add postgres pool info to config
This commit is contained in:
@@ -35,11 +35,12 @@ function createDb() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create connection pools instead of individual connections
|
// Create connection pools instead of individual connections
|
||||||
|
const poolConfig = config.postgres.pool;
|
||||||
const primaryPool = new Pool({
|
const primaryPool = new Pool({
|
||||||
connectionString,
|
connectionString,
|
||||||
max: 20,
|
max: poolConfig.max_connections,
|
||||||
idleTimeoutMillis: 30000,
|
idleTimeoutMillis: poolConfig.idle_timeout_ms,
|
||||||
connectionTimeoutMillis: 5000,
|
connectionTimeoutMillis: poolConfig.connection_timeout_ms,
|
||||||
});
|
});
|
||||||
|
|
||||||
const replicas = [];
|
const replicas = [];
|
||||||
@@ -50,9 +51,9 @@ function createDb() {
|
|||||||
for (const conn of replicaConnections) {
|
for (const conn of replicaConnections) {
|
||||||
const replicaPool = new Pool({
|
const replicaPool = new Pool({
|
||||||
connectionString: conn.connection_string,
|
connectionString: conn.connection_string,
|
||||||
max: 10,
|
max: poolConfig.max_replica_connections,
|
||||||
idleTimeoutMillis: 30000,
|
idleTimeoutMillis: poolConfig.idle_timeout_ms,
|
||||||
connectionTimeoutMillis: 5000,
|
connectionTimeoutMillis: poolConfig.connection_timeout_ms,
|
||||||
});
|
});
|
||||||
replicas.push(DrizzlePostgres(replicaPool));
|
replicas.push(DrizzlePostgres(replicaPool));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -158,7 +158,21 @@ export const configSchema = z
|
|||||||
connection_string: z.string()
|
connection_string: z.string()
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
.optional(),
|
||||||
|
pool: z
|
||||||
|
.object({
|
||||||
|
max_connections: z.number().positive().optional().default(20),
|
||||||
|
max_replica_connections: z.number().positive().optional().default(10),
|
||||||
|
idle_timeout_ms: z.number().positive().optional().default(30000),
|
||||||
|
connection_timeout_ms: z.number().positive().optional().default(5000)
|
||||||
|
})
|
||||||
.optional()
|
.optional()
|
||||||
|
.default({
|
||||||
|
max_connections: 20,
|
||||||
|
max_replica_connections: 10,
|
||||||
|
idle_timeout_ms: 30000,
|
||||||
|
connection_timeout_ms: 5000
|
||||||
|
})
|
||||||
})
|
})
|
||||||
.optional(),
|
.optional(),
|
||||||
traefik: z
|
traefik: z
|
||||||
|
|||||||
Reference in New Issue
Block a user