From 01b845736c2030c699a8f55c971834ef78773b0b Mon Sep 17 00:00:00 2001 From: Janne Mareike Koschinski <janne@kuschku.de> Date: Fri, 13 May 2022 22:16:02 +0200 Subject: [PATCH] feat: improve shutdown handling Signed-off-by: Janne Mareike Koschinski <janne@kuschku.de> --- backend/main.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/backend/main.go b/backend/main.go index ff30068..8a2d36f 100644 --- a/backend/main.go +++ b/backend/main.go @@ -57,13 +57,16 @@ func main() { if err := metrics.ListenAndServe(); err != nil && err != http.ErrServerClosed { log.Printf("error in metrics server: %s", err.Error()) } + log.Printf("metrics shut down, shutting down asynq as well") srv.Shutdown() }() - - if err := srv.Run(mux); err != nil { - log.Printf("error in asynq server: %s", err.Error()) - } - if err := metrics.Shutdown(context.Background()); err != nil { - log.Printf("error shutting down metrics server: %s", err.Error()) - } + go func() { + if err := srv.Run(mux); err != nil { + log.Printf("error in asynq server: %s", err.Error()) + } + log.Printf("asynq shut down, shutting down metrics as well") + if err := metrics.Shutdown(context.Background()); err != nil { + log.Printf("error shutting down metrics server: %s", err.Error()) + } + }() } -- GitLab