package main import ( "context" "log" "net" "os" "os/signal" "strconv" "syscall" server "git.slaventius.ru/test3k/authDB/internal" "git.slaventius.ru/test3k/authDB/internal/config" api "git.slaventius.ru/test3k/umate/pkg/api" "google.golang.org/grpc" ) func main() { config := config.NewConfig() ctx, ctxCancel := context.WithCancel(context.Background()) srv := server.NewServer(ctx, config) s := grpc.NewServer() // signalChannel := make(chan os.Signal, 1) signal.Notify(signalChannel, syscall.SIGINT) signal.Notify(signalChannel, syscall.SIGTERM) defer stop(signalChannel, s, srv, ctxCancel) // Запуск сервера go start(config, s, srv, ctxCancel) // for { select { case <-signalChannel: return case <-ctx.Done(): return } } } // Остановка сервера func stop(signalChannel chan os.Signal, s *grpc.Server, srv *server.AuthDBServer, cancel context.CancelFunc) { defer s.GracefulStop() defer srv.GracefulStop() defer signal.Stop(signalChannel) defer cancel() log.Println("authDBServer stopping ...") } // Запуск сервера func start(config *config.Config, s *grpc.Server, srv *server.AuthDBServer, cancel context.CancelFunc) { defer cancel() // api.RegisterAuthDBServer(s, srv) // connStr := net.JoinHostPort("", strconv.Itoa(config.App.Port)) kafkaStr := net.JoinHostPort(config.Kafka.Host, strconv.Itoa(config.Kafka.Port)) // lis, era := net.Listen("tcp", connStr) if era != nil { log.Fatal(era) } // log.Printf("authDBServer starting on %s\n", connStr) log.Printf("authDBServer listening on %s\n", kafkaStr) // eru := s.Serve(lis) if eru != nil { log.Fatal("Failed starting server") } }