Welcome to mirror list, hosted at ThFree Co, Russian Federation.

health_check_service.rb « gitaly_client « gitlab « lib - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 6c1213f5e20a1b1ec9b434fa98ff0531e514bbc1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
module Gitlab
  module GitalyClient
    class HealthCheckService
      def initialize(storage)
        @storage = storage
      end

      # Sends a gRPC health ping to the Gitaly server for the storage shard.
      def check
        request = Grpc::Health::V1::HealthCheckRequest.new
        response = GitalyClient.call(@storage, :health_check, :check, request, timeout: GitalyClient.fast_timeout)

        { success: response&.status == :SERVING }
      rescue GRPC::BadStatus => e
        { success: false, message: e.to_s }
      end
    end
  end
end