module Motor::Alerts::Scheduler

Constants

ALREADY_PROCESSED_CACHE
CHECK_BEHIND_DURATION
SCHEDULER_INTERVAL
SCHEDULER_TASK

Public Instance Methods

call() click to toggle source
# File lib/motor/alerts/scheduler.rb, line 17
def call
  ScheduledAlertsCache.all.each do |alert|
    next unless (CHECK_BEHIND_DURATION.ago..Time.current).cover?(alert.cron.previous_time.to_local_time)

    ALREADY_PROCESSED_CACHE.fetch("#{alert.id}-#{alert.cron.previous_time.to_i}") do
      Motor::AlertSendingJob.perform_later(alert).job_id
    end
  rescue StandardError => e
    Rails.logger.error(e)
  end
end