This PR ties up the ready endpoint with grpc server start/stop cycle.
When ready endpoint is made to fail, the grpc server gracefully shuts down, so that the existing connections are drained.
Similarly, when ready endpoint is made healthy back, the grpc server starts up again and starts responding to requests.
Throughout the start/stop cycle the cache endpoints are available for debugging.
Interrupt signals cause all endpoints to be drained and the server exits.
This PR ties up the ready endpoint with grpc server start/stop cycle. When ready endpoint is made to fail, the grpc server gracefully shuts down, so that the existing connections are drained.
Similarly, when ready endpoint is made healthy back, the grpc server starts up again and starts responding to requests.
Throughout the start/stop cycle the cache endpoints are available for debugging.
Interrupt signals cause all endpoints to be drained and the server exits.