5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/sidekiq/cronitor/sidekiq_scheduler.rb', line 5
def self.sync_schedule!
monitors_payload = []
Sidekiq.get_schedule.each do |_k, v|
next unless (schedule = v['cron'] || v['every'])
job_klass = Object.const_get(v['class'])
job_key = job_klass.sidekiq_options.fetch('cronitor_key', v['class'])
if job_klass.sidekiq_options['cronitor_enabled']
next unless job_klass.sidekiq_options.fetch('cronitor_enabled', Cronitor.auto_discover_sidekiq)
else
next if job_klass.sidekiq_options.fetch('cronitor_disabled', !Cronitor.auto_discover_sidekiq)
end
monitors_payload << { key: job_key.to_s, schedule: schedule, platform: 'sidekiq', type: 'job' }
end
Cronitor::Monitor.put(monitors: monitors_payload)
rescue Cronitor::Error => e
Sidekiq.logger.error("[cronitor] error during #{name}.#{__method__}: #{e}")
end
|