8 releases (5 breaking)
0.13.0 | Aug 25, 2023 |
---|---|
0.12.1 | Feb 14, 2023 |
0.12.0 | Nov 4, 2022 |
0.11.0 | Sep 14, 2022 |
0.8.0 | Mar 16, 2021 |
#34 in #health-check
389 downloads per month
Used in mmdb-grpc
295KB
6.5K
SLoC
grpcio-healthcheck
grpcio-health provides health check protos as well as some helper structs to make health check easily.
lib.rs
:
grpcio-health provides health check protos as well as some helper structs to make health check easily. For the detail design of health checking service, see https://github.com/grpc/grpc/blob/master/doc/health-checking.md.
Usage
The crate provides a default implementation of Health
service, you can use it
to maintain the service states. First, you need to register it to the server builder
so that it can serve health check service later.
use grpcio_health::{HealthService, create_health};
let service = HealthService::default();
let builder = builder.register_service(create_health(service.clone()));
Then insert service status for query.
service.set_serving_status("", ServingStatus::Serving);
""
means overall health status. You can also provide specific service name.
Client can either use check
to do one time query or watch
to observe status changes.
use grpcio_health::proto::HealthCheckRequest;
let client = HealthClient::new(ch);
let req = HealthCheckRequest { service: "".to_string(), ..Default::default() };
let status_resp = client.check_async(&req).await.unwrap();
assert_eq!(statuss_resp.status, ServingStatus::Serving);
Dependencies
~36MB
~639K SLoC