Переглянути джерело

correctly shutdown the pprofserver

JackDoan 3 місяців тому
батько
коміт
6eda8f1594
1 змінених файлів з 10 додано та 1 видалено
  1. 10 1
      main.go

+ 10 - 1
main.go

@@ -37,7 +37,16 @@ func Main(c *config.C, configTest bool, buildVersion string, l *slog.Logger, dev
 	}
 
 	//todo no merge
-	go http.ListenAndServe(":6060", nil)
+	pprofServer := &http.Server{Addr: ":6060", Handler: nil}
+	go func() {
+		pprofServer.ListenAndServe()
+	}()
+
+	// Shut down the server when context is cancelled
+	go func() {
+		<-ctx.Done()
+		pprofServer.Shutdown(context.Background())
+	}()
 
 	// Print the config if in test, the exit comes later
 	if configTest {