Class: SourceMonitor::Setup::Verification::SolidQueueVerifier
- Inherits:
-
Object
- Object
- SourceMonitor::Setup::Verification::SolidQueueVerifier
- Defined in:
- lib/source_monitor/setup/verification/solid_queue_verifier.rb
Constant Summary collapse
- DEFAULT_HEARTBEAT_THRESHOLD =
2.minutes
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(process_relation: default_process_relation, connection: default_connection, clock: -> { Time.current }) ⇒ SolidQueueVerifier
constructor
A new instance of SolidQueueVerifier.
Constructor Details
#initialize(process_relation: default_process_relation, connection: default_connection, clock: -> { Time.current }) ⇒ SolidQueueVerifier
Returns a new instance of SolidQueueVerifier.
9 10 11 12 13 |
# File 'lib/source_monitor/setup/verification/solid_queue_verifier.rb', line 9 def initialize(process_relation: default_process_relation, connection: default_connection, clock: -> { Time.current }) @process_relation = process_relation @connection = connection @clock = clock end |
Instance Method Details
#call ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/source_monitor/setup/verification/solid_queue_verifier.rb', line 15 def call return missing_gem_result unless process_relation return missing_tables_result unless tables_present? recent = recent_workers? if recent ok_result("Solid Queue workers are reporting heartbeats") else warning_result("No Solid Queue workers have reported in the last #{DEFAULT_HEARTBEAT_THRESHOLD.inspect}", "Start a Solid Queue worker with `bin/rails solid_queue:start` or add `jobs: bundle exec rake solid_queue:start` to Procfile.dev and run `bin/dev`") end rescue StandardError => e error_result("Solid Queue verification failed: #{e.}", "Verify Solid Queue migrations are up to date and workers can access the database") end |