master
 1class QueuedJob < Struct.new(:event, :payload)
 2  def perform
 3    handlers_for(event).each { |handler| handler.handle(payload) }
 4  end
 5
 6  def error(job, exception)
 7    ExceptionNotifier.notify_exception(exception) unless Rails.env.test?
 8  end
 9
10  private
11
12  def handlers_for(event)
13    container.resolve_all(:message_handler).find_all do |handler|
14      handler.handles?(event)
15    end
16  end
17
18  def container
19    @container ||= Spank::IOC.resolve(:container)
20  end
21end
22