class Resque::Plugins::NotiFailure::Failure

Public Class Methods

configuration() click to toggle source
# File lib/resque/plugins/noti_failure/failure.rb, line 5
def self.configuration
  @configuration ||= Resque::Plugins::NotiFailure::Configuration.new
end
configure() { |configuration| ... } click to toggle source
# File lib/resque/plugins/noti_failure/failure.rb, line 9
def self.configure
  yield(configuration)
end
count(queue = nil, class_name = nil) click to toggle source
# File lib/resque/plugins/noti_failure/failure.rb, line 13
def self.count(queue = nil, class_name = nil)
    # We can't get the total # of errors from Noti so we fake it
    # by asking Resque how many errors it has seen.
    Stat[:failed]
end

Public Instance Methods

save() click to toggle source
# File lib/resque/plugins/noti_failure/failure.rb, line 19
def save
  notification        = ::Noti::Notification.new
  notification.title  = Resque::Plugins::NotiFailure::Failure.configuration.failure_name
  notification.url    = Resque::Plugins::NotiFailure::Failure.configuration.failure_url
  notification.text   = Resque::Plugins::NotiFailure::Failure.configuration.failure_message.call(payload)

  Resque.redis.smembers('noti-users').each do |token|
    begin
      notification.deliver_to token
    rescue Noti::Errors::AccessDenied
      Resque.redis.srem('noti-users', token)
    rescue => error
      Resque.logger.warn("Error sending noti failure : #{error.message}")
    end
  end
end