add db timeout defautl of 60 seconds

This commit is contained in:
kiwiidb
2023-02-17 08:42:32 +01:00
parent 6417298677
commit bf315cee02
2 changed files with 5 additions and 1 deletions

View File

@@ -18,7 +18,10 @@ func Open(config *service.Config) (*bun.DB, error) {
dsn := config.DatabaseUri
switch {
case strings.HasPrefix(dsn, "postgres://") || strings.HasPrefix(dsn, "postgresql://") || strings.HasPrefix(dsn, "unix://"):
dbConn := sql.OpenDB(pgdriver.NewConnector(pgdriver.WithDSN(dsn)))
dbConn := sql.OpenDB(
pgdriver.NewConnector(
pgdriver.WithDSN(dsn),
pgdriver.WithTimeout(time.Duration(config.DatabaseTimeout)*time.Second)))
db = bun.NewDB(dbConn, pgdialect.New())
db.SetMaxOpenConns(config.DatabaseMaxConns)
db.SetMaxIdleConns(config.DatabaseMaxIdleConns)

View File

@@ -10,6 +10,7 @@ type Config struct {
DatabaseMaxConns int `envconfig:"DATABASE_MAX_CONNS" default:"10"`
DatabaseMaxIdleConns int `envconfig:"DATABASE_MAX_IDLE_CONNS" default:"5"`
DatabaseConnMaxLifetime int `envconfig:"DATABASE_CONN_MAX_LIFETIME" default:"1800"` // 30 minutes
DatabaseTimeout int `envconfig:"DATABASE_TIMEOUT" default:"60"` // 60 seconds
SentryDSN string `envconfig:"SENTRY_DSN"`
SentryTracesSampleRate float64 `envconfig:"SENTRY_TRACES_SAMPLE_RATE"`
LogFilePath string `envconfig:"LOG_FILE_PATH"`