lib/backgrounder/support/backends.rb in carrierwave_backgrounder-0.2.0 vs lib/backgrounder/support/backends.rb in carrierwave_backgrounder-0.2.1

- old
+ new

@@ -4,11 +4,10 @@ def self.included(base) base.extend ClassMethods end module ClassMethods - attr_writer :backend attr_reader :queue_options def backend(queue_name=nil, args={}) return @backend if @backend @queue_options = args @@ -29,26 +28,27 @@ worker.instance_variable_set('@queue', queue_options[:queue] || :carrierwave) ::Resque.enqueue worker, *args end def enqueue_sidekiq(worker, *args) - sidekiq_client_args = { 'class' => worker, 'args' => args } - sidekiq_client_args['queue'] = queue_options[:queue] unless queue_options[:queue].nil? - sidekiq_client_args['retry'] = queue_options[:retry] unless queue_options[:retry].nil? - sidekiq_client_args['timeout'] = queue_options[:timeout] unless queue_options[:timeout].nil? - sidekiq_client_args['backtrace'] = queue_options[:backtrace] unless queue_options[:backtrace].nil? - worker.client_push(sidekiq_client_args) + args = sidekiq_queue_options('class' => worker, 'args' => args) + worker.client_push(args) end def enqueue_girl_friday(worker, *args) @girl_friday_queue ||= GirlFriday::WorkQueue.new(queue_options.delete(:queue) || :carrierwave, queue_options) do |msg| worker = msg[:worker] worker.perform end @girl_friday_queue << { :worker => worker.new(*args) } end + def enqueue_sucker_punch(worker, *args) + @sucker_punch_queue ||= SuckerPunch::Queue[queue_options[:queue] || :carrierwave] + @sucker_punch_queue.async.perform(*args) + end + def enqueue_qu(worker, *args) worker.instance_variable_set('@queue', queue_options[:queue] || :carrierwave) ::Qu.enqueue worker, *args end @@ -57,9 +57,17 @@ ::QC.enqueue "#{worker.name}.perform", class_name, subject_id, mounted_as.to_s end def enqueue_immediate(worker, *args) worker.new(*args).perform + end + + def sidekiq_queue_options(args) + args['queue'] = queue_options[:queue] if queue_options[:queue] + args['retry'] = queue_options[:retry] unless queue_options[:retry].nil? + args['timeout'] = queue_options[:timeout] if queue_options[:timeout] + args['backtrace'] = queue_options[:backtrace] if queue_options[:backtrace] + args end end end end