diff --git a/backend/main.go b/backend/main.go index ff30068746343186de88a7890ddc516b4d3411cf..8a2d36f939208136a7b5b3a7778310c95e0080bb 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()) + } + }() }