gRPC Health Checking

Module Contents

class grpc_health.v1.health.HealthServicer(experimental_non_blocking=True, experimental_thread_pool=None)[source]

Servicer handling RPCs for service statuses.

Check(request, context)[source]

If the requested service is unknown, the call will fail with status NOT_FOUND.

Watch(request, context, send_response_callback=None)[source]

Performs a watch for the serving status of the requested service. The server will immediately send back a message indicating the current serving status. It will then subsequently send a new message whenever the service’s serving status changes.

If the requested service is unknown when the call is received, the server will send a message setting the serving status to SERVICE_UNKNOWN but will not terminate the call. If at some future point, the serving status of the service becomes known, the server will send a new message with the service’s serving status.

If the call terminates with status UNIMPLEMENTED, then clients should assume this method is not supported and should not retry the call. If the call terminates with any other status (including OK), clients should retry the call with appropriate exponential backoff.

enter_graceful_shutdown()[source]

Permanently sets the status of all services to NOT_SERVING.

This should be invoked when the server is entering a graceful shutdown period. After this method is invoked, future attempts to set the status of a service will be ignored.

This is an EXPERIMENTAL API.

set(service, status)[source]

Sets the status of a service.

Parameters:
  • service – string, the name of the service.

  • status – HealthCheckResponse.status enum value indicating the status of the service