From c729cff825a0deae06a0aa0054524efe41e30bf2 Mon Sep 17 00:00:00 2001 From: abhi9560 <54478454+abhi9560@users.noreply.github.com> Date: Wed, 17 Jan 2024 15:20:37 +0530 Subject: [PATCH] Update main.go Implement graceful shutdown to ensure the server cleans up resources properly when interrupted. --- main.go | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 18805dd..5f063f5 100644 --- a/main.go +++ b/main.go @@ -5,6 +5,23 @@ import ( ) func main() { - setupJsonApi() - http.ListenAndServe(":80", nil) + setupJsonApi() + + server := &http.Server{ + Addr: ":80", + } + + go func() { + if err := server.ListenAndServe(); err != nil { + fmt.Println("Server error:", err) + } + }() + + // Graceful shutdown on interrupt signal + interruptSignal := make(chan os.Signal, 1) + signal.Notify(interruptSignal, os.Interrupt) + <-interruptSignal + + fmt.Println("Shutting down gracefully...") + server.Shutdown(context.Background()) }