health.go 577 B

12345678910111213141516171819202122232425
  1. package internal
  2. import (
  3. "context"
  4. "google.golang.org/grpc/health"
  5. healthv1 "google.golang.org/grpc/health/grpc_health_v1"
  6. )
  7. var HealthSrv = health.NewServer()
  8. func SetHealth(svc string, status healthv1.HealthCheckResponse_ServingStatus) {
  9. HealthSrv.SetServingStatus(svc, status)
  10. }
  11. func GetHealth(svc string) (healthv1.HealthCheckResponse_ServingStatus, bool) {
  12. st, err := HealthSrv.Check(context.Background(), &healthv1.HealthCheckRequest{
  13. Service: svc,
  14. })
  15. if err != nil {
  16. return healthv1.HealthCheckResponse_UNKNOWN, false
  17. }
  18. return st.GetStatus(), true
  19. }