class Shoryuken::Worker::InlineExecutor
Public Class Methods
perform_async(worker_class, body, options = {})
click to toggle source
# File lib/shoryuken/worker/inline_executor.rb, line 5 def perform_async(worker_class, body, options = {}) body = JSON.dump(body) if body.is_a?(Hash) queue_name = options.delete(:queue) || worker_class.get_shoryuken_options['queue'] sqs_msg = OpenStruct.new( body: body, attributes: nil, md5_of_body: nil, md5_of_message_attributes: nil, message_attributes: nil, message_id: nil, receipt_handle: nil, delete: nil, queue_name: queue_name ) call(worker_class, sqs_msg) end
perform_in(worker_class, _interval, body, options = {})
click to toggle source
# File lib/shoryuken/worker/inline_executor.rb, line 24 def perform_in(worker_class, _interval, body, options = {}) worker_class.perform_async(body, options) end
Private Class Methods
call(worker_class, sqs_msg)
click to toggle source
# File lib/shoryuken/worker/inline_executor.rb, line 30 def call(worker_class, sqs_msg) parsed_body = BodyParser.parse(worker_class, sqs_msg) batch = worker_class.shoryuken_options_hash['batch'] args = batch ? [[sqs_msg], [parsed_body]] : [sqs_msg, parsed_body] worker_class.new.perform(*args) end