Как добавить хук при запуске сервера golang grpc?

#go #grpc

# #Вперед #grpc

Вопрос:

Можно ли добавить хук сразу после вызова метода Serve()?

 grpcServer := grpc.NewServer(options)
if err := grpcServer.Serve(newListener("localhost:1234"); err != nil {
    log.Fatalf("failed to serve: %s", err)
}
 

Мне нужно знать, когда именно он запущен и работает, чтобы иметь возможность вызывать его из тестовых клиентов.

Комментарии:

1. Вы нашли ответ на этот вопрос?

2. я использовал способ telnet, просто перепроверяя, пока сервер не будет готов

Ответ №1:

Я не нашел прослушивателя на стороне сервера о событии запуска; И я думаю, что нет смысла прослушивать это событие, правильный способ — передать по telnet адрес и порт сервера на стороне клиента для ожидания готовности сервера.

Комментарии:

1. Не могли бы вы пояснить, почему «нет смысла слушать это событие»? Я думаю, что это было бы особенно полезно при написании тестов

2. @nz_21 Зачем нужен сам сервер прослушивания? Даже тестовый запуск после запуска сервера должен быть тестом для просмотра состояния сервера, а не тестом уведомления сервера.

3. Я понятия не имею, о чем ты говоришь.