Class: RailsHealthChecks::CheckRegistry
- Inherits:
-
Object
- Object
- RailsHealthChecks::CheckRegistry
- Defined in:
- lib/rails_health_checks/check_registry.rb
Constant Summary collapse
- BUILT_INS =
{ database: -> { Checks::DatabaseCheck.new }, cache: -> { Checks::CacheCheck.new }, sidekiq: -> { Checks::SidekiqCheck.new(queue_size: RailsHealthChecks.configuration.sidekiq_queue_size) }, solid_queue: -> { Checks::SolidQueueCheck.new(job_count: RailsHealthChecks.configuration.solid_queue_job_count) }, good_job: -> { Checks::GoodJobCheck.new(latency: RailsHealthChecks.configuration.good_job_latency) }, resque: -> { Checks::ResqueCheck.new(queue_size: RailsHealthChecks.configuration.resque_queue_size) } }.freeze
Class Method Summary collapse
Class Method Details
.build(check_names) ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/rails_health_checks/check_registry.rb', line 16 def self.build(check_names) check_names.each_with_object({}) do |name, hash| factory = BUILT_INS.fetch(name) do raise ArgumentError, "Unknown check: #{name}. Available: #{BUILT_INS.keys.join(', ')}" end hash[name] = factory.call end end |
.run(checks, timeout:) ⇒ Object
25 26 27 |
# File 'lib/rails_health_checks/check_registry.rb', line 25 def self.run(checks, timeout:) checks.transform_values { |check| run_check(check, timeout: timeout) } end |