class MultiWorker::Adapters::DelayedJob

Public Class Methods

configure(base, opts={}) click to toggle source
# File lib/multi_worker/adapters/delayed_job.rb, line 4
def self.configure(base, opts={})
  base.class_eval do
    @queue = opts[:queue]

    def self.perform(*args)
      self.new.perform(*args)
    end

    def self.perform_async(*args)
      delay(queue: @queue).perform(*args)
    end

    def perform_async(*args)
      self.class.perform_async(*args)
    end
  end
end
perform(*args) click to toggle source
# File lib/multi_worker/adapters/delayed_job.rb, line 8
def self.perform(*args)
  self.new.perform(*args)
end
perform_async(*args) click to toggle source
# File lib/multi_worker/adapters/delayed_job.rb, line 12
def self.perform_async(*args)
  delay(queue: @queue).perform(*args)
end
rake_task() click to toggle source
# File lib/multi_worker/adapters/delayed_job.rb, line 22
def self.rake_task
  require 'rake'
  require 'delayed/tasks'

  ::Rake::Task['jobs:work']
end

Public Instance Methods

perform_async(*args) click to toggle source
# File lib/multi_worker/adapters/delayed_job.rb, line 16
def perform_async(*args)
  self.class.perform_async(*args)
end