Browse Source

admin: /stop endpoint gracefully shuts down; fixes caddy stop command

master
Matthew Holt 5 years ago
parent
commit
5ab17a3a37
  1. 14
      admin.go
  2. 2
      cmd/commandfuncs.go

14
admin.go

@ -561,14 +561,20 @@ func handleConfigID(w http.ResponseWriter, r *http.Request) error {
}
func handleStop(w http.ResponseWriter, r *http.Request) error {
defer func() {
Log().Named("admin.api").Info("stopping now, bye!! 👋")
os.Exit(0)
}()
err := handleUnload(w, r)
if err != nil {
Log().Named("admin.api").Error("unload error", zap.Error(err))
}
go func() {
err := stopAdminServer(adminServer)
var exitCode int
if err != nil {
exitCode = ExitCodeFailedQuit
Log().Named("admin.api").Error("failed to stop admin server gracefully", zap.Error(err))
}
Log().Named("admin.api").Info("stopping now, bye!! 👋")
os.Exit(exitCode)
}()
return nil
}

2
cmd/commandfuncs.go

@ -239,8 +239,6 @@ func cmdStop(fl Flags) (int, error) {
if !found {
return caddy.ExitCodeFailedStartup, fmt.Errorf("Caddy is not running")
}
fmt.Println(" success")
}
return caddy.ExitCodeSuccess, nil

Loading…
Cancel
Save