Method: Shoryuken::Processor#process

Defined in:
lib/shoryuken/processor.rb

#processObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/shoryuken/processor.rb', line 16

def process
  return logger.error { "No worker found for #{queue}" } unless worker

  Shoryuken::Logging.with_context("#{worker_name(worker.class, sqs_msg, body)}/#{queue}/#{sqs_msg.message_id}") do
    worker.class.server_middleware.invoke(worker, queue, sqs_msg, body) do
      worker.perform(sqs_msg, body)
    end
  end
rescue Exception => ex
  logger.error { "Processor failed: #{ex.message}" }
  logger.error { ex.backtrace.join("\n") } unless ex.backtrace.nil?

  raise
end