Module: Support::Backends::ClassMethods

Defined in:
lib/backgrounder/support/backends.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#backend(queue_name = nil, args = {}) ⇒ Object



12
13
14
15
16
17
# File 'lib/backgrounder/support/backends.rb', line 12

def backend(queue_name=nil, args={})
  return @backend if @backend
  @queue_options = args
  @backend = queue_name and return if queue_name
  determine_backend
end

#queue_optionsObject (readonly)

Returns the value of attribute queue_options.



10
11
12
# File 'lib/backgrounder/support/backends.rb', line 10

def queue_options
  @queue_options
end

Instance Method Details

#available_backendsObject



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/backgrounder/support/backends.rb', line 19

def available_backends
  @available_backends ||= begin
    backends = []
    backends << :girl_friday if defined? ::GirlFriday
    backends << :delayed_job if defined? ::Delayed::Job
    backends << :resque      if defined? ::Resque
    backends << :qu          if defined? ::Qu
    backends << :sidekiq     if defined? ::Sidekiq
    backends << :qc          if defined? ::QC
    backends
  end
end

#enqueue_for_backend(worker, class_name, subject_id, mounted_as) ⇒ Object



32
33
34
# File 'lib/backgrounder/support/backends.rb', line 32

def enqueue_for_backend(worker, class_name, subject_id, mounted_as)
  self.send :"enqueue_#{backend}", worker, class_name, subject_id, mounted_as
end