Sha256: df9b5ab40a32164f2e613959128ed6ef158bfd0898e7f6e09167d182ee7675e5
Contents?: true
Size: 739 Bytes
Versions: 4
Compression:
Stored size: 739 Bytes
Contents
class ScheduleByIntervalJob include Sidekiq::Worker sidekiq_options queue: 'my_nagios_monitoring' def perform(options, one_by_one = false) # Run each Check separately (new ssh connection for each check even common host) if one_by_one MyNagios::Check.where(interval: options['interval']).each do |check| MonitoringJob.perform_async(check) end return end # Optimized variant, group checks, run all necessary checks with one ssh connection MyNagios::Check.enabled.where(interval: options['interval']).group_by{|check| { host: check.host, user: check.user, pem_key: check.pem_key } }.each do |config, checks| MonitoringJob.perform_async(checks.map(&:id), config) end end end
Version data entries
4 entries across 4 versions & 1 rubygems