class CheckAndNotify::Workers::SlackNotifierWorker

Constants

EVERY_HOUR
EVERY_ONE_MINUTE
EVERY_TEN_MINUTES
EVERY_THIRTY_MINUTES

Public Instance Methods

perform(callback_index, callbacks_array_type) click to toggle source
# File lib/check_and_notify/workers/slack_notifier_worker.rb, line 12
def perform(callback_index, callbacks_array_type)
  callback = case callbacks_array_type
    when EVERY_HOUR
      CheckAndNotify::Callbacks.
        check_after_one_hour_callbacks[callback_index]
    when EVERY_THIRTY_MINUTES
      CheckAndNotify::Callbacks.
        check_after_thirty_minutes_callbacks[callback_index]
    when EVERY_TEN_MINUTES
      CheckAndNotify::Callbacks.
        check_after_ten_minutes_callbacks[callback_index]
    when EVERY_ONE_MINUTE
      CheckAndNotify::Callbacks.
        check_after_one_minute_callbacks[callback_index]
    end

  begin
    result = callback.call
  rescue LocalJumpError => e
  end

  Notifiers::Slack.notify(result) if result
end