Newer
Older
using System;
using System.Threading.Tasks;
using cartservice.cartstore;
using cartservice.interfaces;
using Grpc.Core;
using Grpc.Health.V1;
using StackExchange.Redis;
using static Grpc.Health.V1.Health;
namespace cartservice
{
internal class HealthImpl : HealthBase
{
private CartStore dependency { get; }
public HealthImpl(CartStore dependency)
{
this.dependency = dependency;
// this.dependency = Program.globalStore;
// this.dependency = dependency;
}
public override Task<HealthCheckResponse> Check(HealthCheckRequest request, ServerCallContext context)
{
Console.WriteLine("Checking CartService Health");
return Task.FromResult(new HealthCheckResponse
{
Status = dependency.Ping() ? HealthCheckResponse.Types.ServingStatus.Serving : HealthCheckResponse.Types.ServingStatus.NotServing
});
}
}
}