mirror of
https://github.com/hatchet-dev/hatchet.git
synced 2026-05-01 23:20:09 -05:00
Add env vars for max conn lifetime and idle time for pgx (#3096)
* add env vars for max conn lifetime and idele time for pgx * add doc
This commit is contained in:
@@ -29,6 +29,9 @@ type ConfigFile struct {
|
||||
MaxQueueConns int `mapstructure:"maxQueueConns" json:"maxQueueConns,omitempty" default:"50"`
|
||||
MinQueueConns int `mapstructure:"minQueueConns" json:"minQueueConns,omitempty" default:"10"`
|
||||
|
||||
MaxConnLifetime time.Duration `mapstructure:"maxConnLifetime" json:"maxConnLifetime,omitempty" default:"15m"`
|
||||
MaxConnIdleTime time.Duration `mapstructure:"maxConnIdleTime" json:"maxConnIdleTime,omitempty" default:"1m"`
|
||||
|
||||
Seed SeedConfigFile `mapstructure:"seed" json:"seed,omitempty"`
|
||||
|
||||
Logger shared.LoggerConfigFile `mapstructure:"logger" json:"logger,omitempty"`
|
||||
@@ -81,6 +84,8 @@ func BindAllEnv(v *viper.Viper) {
|
||||
_ = v.BindEnv("minConns", "DATABASE_MIN_CONNS")
|
||||
_ = v.BindEnv("maxQueueConns", "DATABASE_MAX_QUEUE_CONNS")
|
||||
_ = v.BindEnv("minQueueConns", "DATABASE_MIN_QUEUE_CONNS")
|
||||
_ = v.BindEnv("maxConnLifetime", "DATABASE_MAX_CONN_LIFETIME")
|
||||
_ = v.BindEnv("maxConnIdleTime", "DATABASE_MAX_CONN_IDLE_TIME")
|
||||
|
||||
_ = v.BindEnv("readReplicaEnabled", "READ_REPLICA_ENABLED")
|
||||
_ = v.BindEnv("readReplicaDatabaseUrl", "READ_REPLICA_DATABASE_URL")
|
||||
|
||||
@@ -190,7 +190,8 @@ func (c *ConfigLoader) InitDataLayer() (res *database.Layer, err error) {
|
||||
config.MinConns = int32(cf.MinConns) // nolint: gosec
|
||||
}
|
||||
|
||||
config.MaxConnLifetime = 15 * 60 * time.Second
|
||||
config.MaxConnLifetime = cf.MaxConnLifetime
|
||||
config.MaxConnIdleTime = cf.MaxConnIdleTime
|
||||
|
||||
// Check database instance timezone if enforcement is enabled
|
||||
if cf.EnforceUTCTimezone {
|
||||
@@ -242,7 +243,8 @@ func (c *ConfigLoader) InitDataLayer() (res *database.Layer, err error) {
|
||||
readReplicaConfig.MinConns = int32(cf.ReadReplicaMinConns) // nolint: gosec
|
||||
}
|
||||
|
||||
readReplicaConfig.MaxConnLifetime = 15 * 60 * time.Second
|
||||
readReplicaConfig.MaxConnLifetime = cf.MaxConnLifetime
|
||||
readReplicaConfig.MaxConnIdleTime = cf.MaxConnIdleTime
|
||||
readReplicaConfig.ConnConfig.Tracer = otelpgx.NewTracer()
|
||||
|
||||
// Check read replica database instance timezone if enforcement is enabled
|
||||
|
||||
Reference in New Issue
Block a user