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