class Discobolo::Worker

Attributes

enqueue_options[RW]
queue[RW]
job_id[RW]
queue[RW]

Public Class Methods

enqueue(message, options={}) click to toggle source
# File lib/discobolo/worker.rb, line 17
def self.enqueue(message, options={})
  timeout = options.delete(:timeout) || 100
  opts = self.enqueue_options.merge(options)
  #Discobolo::Config.logger.info "Enqueue from #{self.name} to queue #{@queue}"
  Discobolo::Config.client.push(@queue, format_msg(message), timeout, opts)
end
set_queue(queue) click to toggle source
# File lib/discobolo/worker.rb, line 24
def self.set_queue(queue)
  self.queue = queue
end

Private Class Methods

format_msg(message) click to toggle source
# File lib/discobolo/worker.rb, line 33
def self.format_msg(message)
  {class: self.name, args: message}.to_json
end

Public Instance Methods

perform_async(*args) click to toggle source
# File lib/discobolo/worker.rb, line 11
def perform_async(*args)
  perform(*args)
  Discobolo::Config.client.call('ACKJOB', self.job_id)
  Discobolo::Config.logger.info "Finished job #{self.job_id}"
end