mirror of
https://github.com/bitechdev/ResolveSpec.git
synced 2026-01-27 21:14:26 +00:00
feat(config): ✨ Update timeout settings for connections
Some checks failed
Build , Vet Test, and Lint / Run Vet Tests (1.23.x) (push) Successful in -22m34s
Build , Vet Test, and Lint / Run Vet Tests (1.24.x) (push) Successful in -22m28s
Build , Vet Test, and Lint / Build (push) Successful in -26m3s
Build , Vet Test, and Lint / Lint Code (push) Successful in -25m22s
Tests / Integration Tests (push) Failing after -26m44s
Tests / Unit Tests (push) Successful in -26m2s
Some checks failed
Build , Vet Test, and Lint / Run Vet Tests (1.23.x) (push) Successful in -22m34s
Build , Vet Test, and Lint / Run Vet Tests (1.24.x) (push) Successful in -22m28s
Build , Vet Test, and Lint / Build (push) Successful in -26m3s
Build , Vet Test, and Lint / Lint Code (push) Successful in -25m22s
Tests / Integration Tests (push) Failing after -26m44s
Tests / Unit Tests (push) Successful in -26m2s
* Set default query timeout to 2 minutes and enforce minimum. * Add statement_timeout for PostgreSQL DSN. * Implement busy timeout for SQLite with a minimum of 2 minutes. * Enforce minimum connection timeouts of 10 minutes for server instance.
This commit is contained in:
@@ -411,7 +411,9 @@ func newInstance(cfg Config) (*serverInstance, error) {
|
||||
return nil, fmt.Errorf("handler cannot be nil")
|
||||
}
|
||||
|
||||
// Set default timeouts
|
||||
// Set default timeouts with minimum of 10 minutes for connection timeouts
|
||||
minConnectionTimeout := 10 * time.Minute
|
||||
|
||||
if cfg.ShutdownTimeout == 0 {
|
||||
cfg.ShutdownTimeout = 30 * time.Second
|
||||
}
|
||||
@@ -419,13 +421,22 @@ func newInstance(cfg Config) (*serverInstance, error) {
|
||||
cfg.DrainTimeout = 25 * time.Second
|
||||
}
|
||||
if cfg.ReadTimeout == 0 {
|
||||
cfg.ReadTimeout = 15 * time.Second
|
||||
cfg.ReadTimeout = minConnectionTimeout
|
||||
} else if cfg.ReadTimeout < minConnectionTimeout {
|
||||
// Enforce minimum of 10 minutes
|
||||
cfg.ReadTimeout = minConnectionTimeout
|
||||
}
|
||||
if cfg.WriteTimeout == 0 {
|
||||
cfg.WriteTimeout = 15 * time.Second
|
||||
cfg.WriteTimeout = minConnectionTimeout
|
||||
} else if cfg.WriteTimeout < minConnectionTimeout {
|
||||
// Enforce minimum of 10 minutes
|
||||
cfg.WriteTimeout = minConnectionTimeout
|
||||
}
|
||||
if cfg.IdleTimeout == 0 {
|
||||
cfg.IdleTimeout = 60 * time.Second
|
||||
cfg.IdleTimeout = minConnectionTimeout
|
||||
} else if cfg.IdleTimeout < minConnectionTimeout {
|
||||
// Enforce minimum of 10 minutes
|
||||
cfg.IdleTimeout = minConnectionTimeout
|
||||
}
|
||||
|
||||
addr := fmt.Sprintf("%s:%d", cfg.Host, cfg.Port)
|
||||
|
||||
Reference in New Issue
Block a user