about summary refs log tree commit diff stats
path: root/internal/server
diff options
context:
space:
mode:
authorAlan Pearce2025-03-19 20:12:45 +0100
committerAlan Pearce2025-03-19 20:12:45 +0100
commit49e3004d33bf84aa081460e4a6d89a8d84cc12b0 (patch)
tree5880910ad9b32d6b80d64977784f427f00f3f527 /internal/server
parentc0c02ac768a144f4417edfba967a4f7857a150b9 (diff)
downloadsearchix-49e3004d33bf84aa081460e4a6d89a8d84cc12b0.tar.lz
searchix-49e3004d33bf84aa081460e4a6d89a8d84cc12b0.tar.zst
searchix-49e3004d33bf84aa081460e4a6d89a8d84cc12b0.zip
feat: shorten shutdown timeout in development
Diffstat (limited to 'internal/server')
-rw-r--r--internal/server/server.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/internal/server/server.go b/internal/server/server.go
index 17d3512..f80b6b7 100644
--- a/internal/server/server.go
+++ b/internal/server/server.go
@@ -16,6 +16,8 @@ import (
 	"golang.org/x/net/http2/h2c"
 )
 
+var shutdownTimeout = 10 * time.Second
+
 type Server struct {
 	cfg      *config.Config
 	log      *log.Logger
@@ -81,10 +83,13 @@ func (s *Server) Stop() chan struct{} {
 	s.log.Debug("stop called")
 
 	idleConnsClosed := make(chan struct{})
+	if s.cfg.Web.Environment == "development" {
+		shutdownTimeout = 1 * time.Second
+	}
 
 	go func() {
 		s.log.Debug("shutting down server")
-		ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
+		ctx, cancel := context.WithTimeout(context.Background(), shutdownTimeout)
 		defer cancel()
 		err := s.server.Shutdown(ctx)
 		s.log.Debug("server shut down")