Tell servers to Stop when shutting down.

Run Stop() on all the server when a SIGINT or SIGTERM is received. This
should ensure any open sockets and files are closed.
This commit is contained in:
Derrick 2020-04-12 15:49:12 -07:00
parent 12775db8ce
commit 68453fa6d6

View file

@ -8,6 +8,7 @@ package main
import (
"fmt"
"log"
"os"
"os/signal"
"syscall"
@ -27,6 +28,14 @@ func SignalHandler() {
continue
}
if sig == syscall.SIGINT || sig == syscall.SIGTERM {
for _, server := range servers {
log.Printf("Stopping server %v", server.Id)
err := server.Stop()
if err != nil {
log.Printf("Server err %v", err)
}
}
log.Print("All servers stopped. Exiting.")
os.Exit(0)
}
}