|
|
|
@ -15,17 +15,17 @@ import ( |
|
|
|
|
|
|
|
|
|
func main() { |
|
|
|
|
config := config.NewConfig() |
|
|
|
|
ctx, _ := context.WithCancel(context.Background()) |
|
|
|
|
ctx, ctxCancel := context.WithCancel(context.Background()) |
|
|
|
|
srv := server.NewServer(ctx, config) |
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
signalChannel := make(chan os.Signal, 1) |
|
|
|
|
signal.Notify(signalChannel, syscall.SIGINT) |
|
|
|
|
signal.Notify(signalChannel, syscall.SIGTERM) |
|
|
|
|
defer stop(signalChannel, srv) |
|
|
|
|
defer stop(signalChannel, srv, ctxCancel) |
|
|
|
|
|
|
|
|
|
// Запуск сервера
|
|
|
|
|
go start(config, srv) |
|
|
|
|
go start(config, srv, ctxCancel) |
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
for { |
|
|
|
@ -39,15 +39,19 @@ func main() { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Остановка сервера
|
|
|
|
|
func stop(signalChannel chan os.Signal, srv *server.AuthServer) { |
|
|
|
|
func stop(signalChannel chan os.Signal, srv *server.AuthServer, cancel context.CancelFunc) { |
|
|
|
|
defer srv.GracefulStop() |
|
|
|
|
defer signal.Stop(signalChannel) |
|
|
|
|
defer cancel() |
|
|
|
|
|
|
|
|
|
log.Println("authServer stopping ...") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Запуск сервера
|
|
|
|
|
func start(config *config.Config, s *server.AuthServer) { |
|
|
|
|
func start(config *config.Config, s *server.AuthServer, cancel context.CancelFunc) { |
|
|
|
|
defer cancel() |
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
connStr := net.JoinHostPort("", strconv.Itoa(config.App.Port)) |
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|