Class: SourceMonitor::Setup::Verification::RecurringScheduleVerifier
- Inherits:
-
Object
- Object
- SourceMonitor::Setup::Verification::RecurringScheduleVerifier
- Defined in:
- lib/source_monitor/setup/verification/recurring_schedule_verifier.rb
Constant Summary collapse
- SOURCE_MONITOR_KEY_PREFIX =
"source_monitor_"- SOURCE_MONITOR_NAMESPACE =
"SourceMonitor::"
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(task_relation: default_task_relation, connection: default_connection) ⇒ RecurringScheduleVerifier
constructor
A new instance of RecurringScheduleVerifier.
Constructor Details
#initialize(task_relation: default_task_relation, connection: default_connection) ⇒ RecurringScheduleVerifier
Returns a new instance of RecurringScheduleVerifier.
10 11 12 13 |
# File 'lib/source_monitor/setup/verification/recurring_schedule_verifier.rb', line 10 def initialize(task_relation: default_task_relation, connection: default_connection) @task_relation = task_relation @connection = connection end |
Instance Method Details
#call ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/source_monitor/setup/verification/recurring_schedule_verifier.rb', line 15 def call return missing_gem_result unless task_relation return missing_tables_result unless tables_present? tasks = all_tasks sm_tasks = source_monitor_tasks(tasks) if sm_tasks.any? ok_result("#{sm_tasks.size} SourceMonitor recurring task(s) registered") elsif tasks.any? warning_result( "Recurring tasks exist but none belong to SourceMonitor", "Add SourceMonitor entries to config/recurring.yml and ensure the dispatcher has `recurring_schedule: config/recurring.yml`" ) else warning_result( "No recurring tasks are registered with Solid Queue", "Configure a dispatcher with `recurring_schedule: config/recurring.yml` in config/queue.yml and ensure recurring.yml contains SourceMonitor task entries" ) end rescue StandardError => e error_result( "Recurring schedule verification failed: #{e.}", "Verify Solid Queue migrations are up to date and the dispatcher is configured with recurring_schedule" ) end |