class HealthCheckController
Public Instance Methods
health()
click to toggle source
# File lib/generators/mononoke/templates/health_check_controller.rb, line 18 def health status, services = dependencies_health(all_dependencies) if status render json: { status: 'OK', services: services } else render json: { status: 'ERROR', services: services }, status: :internal_server_error end end
index()
click to toggle source
# File lib/generators/mononoke/templates/health_check_controller.rb, line 4 def index render json: { status: 'OK', dockerImage: ENV['DOCKER_IMAGE'] } end
quick_health()
click to toggle source
# File lib/generators/mononoke/templates/health_check_controller.rb, line 8 def quick_health status, = dependencies_health(hard_dependencies) if status render json: { status: 'OK', dockerImage: ENV['DOCKER_IMAGE'] } else head :internal_server_error end end
uptime()
click to toggle source
# File lib/generators/mononoke/templates/health_check_controller.rb, line 37 def uptime response = { started_at: Diagnostics::BOOTED_AT, uptime: (Time.now - Diagnostics::BOOTED_AT).to_i } render json: response end
version()
click to toggle source
# File lib/generators/mononoke/templates/health_check_controller.rb, line 28 def version response = { version: ENV['APP_VERSION'], name: ENV['APP_NAME'], commit: ENV['COMMIT'] } render json: response end
Private Instance Methods
all_dependencies()
click to toggle source
# File lib/generators/mononoke/templates/health_check_controller.rb, line 55 def all_dependencies [db_health, rabbitmq_health] end
db_health()
click to toggle source
# File lib/generators/mononoke/templates/health_check_controller.rb, line 65 def db_health ActiveRecord::Base.establish_connection [true, { db: 'UP' }] rescue StandardError => e [false, { db: e.message }] end
dependencies_health(dependencies)
click to toggle source
# File lib/generators/mononoke/templates/health_check_controller.rb, line 59 def dependencies_health(dependencies) dependencies.reduce([true, {}]) do |(status, services), (stat, serv)| [status && stat, services.merge(serv)] end end
hard_dependencies()
click to toggle source
# File lib/generators/mononoke/templates/health_check_controller.rb, line 51 def hard_dependencies [db_health] end
rabbitmq_health()
click to toggle source
# File lib/generators/mononoke/templates/health_check_controller.rb, line 72 def rabbitmq_health Totoro::Queue.connection [true, { rabbitmq: 'UP' }] rescue StandardError => e [false, { rabbitmq: e.message }] end
server_info()
click to toggle source
# File lib/generators/mononoke/templates/health_check_controller.rb, line 47 def server_info { daemons: daemons } end