Class: Shoryuken::Processor
- Inherits:
-
Object
- Object
- Shoryuken::Processor
- Includes:
- Util
- Defined in:
- lib/shoryuken/processor.rb
Instance Method Summary collapse
-
#initialize(manager) ⇒ Processor
constructor
A new instance of Processor.
- #process(queue, sqs_msg) ⇒ Object
Methods included from Util
#elapsed, #fire_event, #logger, #unparse_queues, #worker_name
Constructor Details
#initialize(manager) ⇒ Processor
Returns a new instance of Processor.
5 6 7 |
# File 'lib/shoryuken/processor.rb', line 5 def initialize(manager) @manager = manager end |
Instance Method Details
#process(queue, sqs_msg) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/shoryuken/processor.rb', line 9 def process(queue, sqs_msg) worker = Shoryuken.worker_registry.fetch_worker(queue, sqs_msg) body = get_body(worker.class, sqs_msg) worker.class.server_middleware.invoke(worker, queue, sqs_msg, body) do worker.perform(sqs_msg, body) end rescue Exception => ex @manager.processor_failed(ex) raise ensure @manager.processor_done(queue) end |