Skip to content

Commit dd5f6f8

Browse files
committed
refactor DB connection retries
1 parent 33b69d0 commit dd5f6f8

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

dbase/constructor.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,16 @@ func New(ctx context.Context, logger log.MetaLogger, cfg Config, options ...int)
3737
}
3838

3939
// dumb
40-
delay := 300 * time.Millisecond //nolint:mnd
41-
for range 20 {
40+
delay := time.Second
41+
retries := 10
42+
for i := range retries {
4243
db, err = postgresql.New(ctx, cfg.ConnString) // establishes one connection!
4344
if err != nil {
4445
logger.Error("postgresql.New", log.Error(err), log.String("dbname", dbName))
45-
time.Sleep(delay) // 0:0.3, 1:0.6, 2:1.2, 3:2.4, 4:4.8 -> 6.3 s total
46-
delay *= 2
46+
if i < retries-1 {
47+
time.Sleep(delay)
48+
delay = (delay * 120) / 100 //nolint:gomnd
49+
}
4750
} else {
4851
break
4952
}

0 commit comments

Comments
 (0)