Skip to content
代码片段 群组 项目
HealthImpl.cs 971 字节
Newer Older
zhou liang's avatar
zhou liang 已提交
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
            });
        }
    }
}