class Grpc::Health::Checker
Checker is implementation of the schema-specified health checking service.
Constants
- HealthCheckResponse
- StatusCodes
Constants representing the status codes or grpc_status_code in status.h
Public Class Methods
new()
click to toggle source
Initializes the statuses of participating services
# File src/ruby/pb/grpc/health/checker.rb, line 44 def initialize @statuses = {} @status_mutex = Mutex.new # guards access to @statuses end
Public Instance Methods
add_status(service, status)
click to toggle source
Adds the health status for a given service.
# File src/ruby/pb/grpc/health/checker.rb, line 60 def add_status(service, status) @status_mutex.synchronize { @statuses["#{service}"] = status } end
check(req, _call)
click to toggle source
Implements the rpc IDL API method
# File src/ruby/pb/grpc/health/checker.rb, line 50 def check(req, _call) status = nil @status_mutex.synchronize do status = @statuses["#{req.service}"] end fail GRPC::BadStatus, StatusCodes::NOT_FOUND if status.nil? HealthCheckResponse.new(status: status) end
clear_all()
click to toggle source
Clears alls the statuses.
# File src/ruby/pb/grpc/health/checker.rb, line 70 def clear_all @status_mutex.synchronize { @statuses = {} } end
clear_status(service)
click to toggle source
Clears the status for the given service.
# File src/ruby/pb/grpc/health/checker.rb, line 65 def clear_status(service) @status_mutex.synchronize { @statuses.delete("#{service}") } end