vspd: Create shutdown context earlier.
Create the shutdown context earlier so process begins handling shutdown signals earlier. Specifically, the context should be created before creating any resources which need a graceful shutdown such as the database. This is important because without explicit signal handling the process will terminate immediately upon receiving a signal without running deferred tasks.
This commit is contained in:
parent
81784accb6
commit
fb1f250a74
@ -45,6 +45,10 @@ func run() int {
|
||||
|
||||
log := cfg.logger("VSP")
|
||||
|
||||
// Create a context that is canceled when a shutdown request is received
|
||||
// through an interrupt signal such as SIGINT (Ctrl+C).
|
||||
ctx := signal.ShutdownListener(log)
|
||||
|
||||
defer log.Criticalf("Shutdown complete")
|
||||
log.Criticalf("Version %s (Go version %s %s/%s)", version.String(),
|
||||
runtime.Version(), runtime.GOOS, runtime.GOARCH)
|
||||
@ -107,10 +111,6 @@ func run() int {
|
||||
// WaitGroup for services to signal when they have shutdown cleanly.
|
||||
var shutdownWg sync.WaitGroup
|
||||
|
||||
// Create a context that is canceled when a shutdown request is received
|
||||
// through an interrupt signal such as SIGINT (Ctrl+C).
|
||||
ctx := signal.ShutdownListener(log)
|
||||
|
||||
// Start the webapi server.
|
||||
shutdownWg.Add(1)
|
||||
go func() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user