Module: Disc::Job::ClassMethods

Defined in:
lib/disc.rb

Instance Method Summary collapse

Instance Method Details

#disc(options = {}) ⇒ Object



104
105
106
# File 'lib/disc.rb', line 104

def disc(options = {})
  @disc_options = options
end

#disc_optionsObject



108
109
110
# File 'lib/disc.rb', line 108

def disc_options
  @disc_options ||= {}
end

#disqueObject



96
97
98
# File 'lib/disc.rb', line 96

def disque
  defined?(@disque) ? @disque : Disc.disque
end

#disque=(disque) ⇒ Object



100
101
102
# File 'lib/disc.rb', line 100

def disque=(disque)
  @disque = disque
end

#enqueue(args = [], at: nil, queue: nil) ⇒ Object



116
117
118
119
120
121
122
123
124
125
126
# File 'lib/disc.rb', line 116

def enqueue(args = [], at: nil, queue: nil)
  disque.push(
    queue || self.queue,
    {
      class: self.name,
      arguments: Array(args)
    }.to_msgpack,
    Disc.disque_timeout,
    delay: at.nil? ? nil : (at.to_time.to_i - DateTime.now.to_time.to_i)
  )
end

#queueObject



112
113
114
# File 'lib/disc.rb', line 112

def queue
  disc_options.fetch(:queue, 'default')
end