class MultiWorker::Adapters::Sneakers

Public Class Methods

configure(base, opts={}) click to toggle source
# File lib/multi_worker/adapters/sneakers.rb, line 4
def self.configure(base, opts={})
  require 'json'

  base.class_eval do
    include ::Sneakers::Worker
    from_queue opts[:queue], opts.fetch(:adapter_opts, {})

    def work(msg)
      args = JSON.parse(msg)
      perform(*args)
    end

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

    def self.perform_async(*args)
      ::Sneakers.publish(args.to_json, to_queue: @queue)
    end

    def perform_async(*args)
      self.class.perform_async(*args)
      #@queue.exchange.publish(args.to_json, :to_queue => @queue)
    end
  end
end
perform(*args) click to toggle source
# File lib/multi_worker/adapters/sneakers.rb, line 16
def self.perform(*args)
  self.new.perform(*args)
end
perform_async(*args) click to toggle source
# File lib/multi_worker/adapters/sneakers.rb, line 20
def self.perform_async(*args)
  ::Sneakers.publish(args.to_json, to_queue: @queue)
end

Public Instance Methods

perform_async(*args) click to toggle source
# File lib/multi_worker/adapters/sneakers.rb, line 24
def perform_async(*args)
  self.class.perform_async(*args)
  #@queue.exchange.publish(args.to_json, :to_queue => @queue)
end
work(msg) click to toggle source
# File lib/multi_worker/adapters/sneakers.rb, line 11
def work(msg)
  args = JSON.parse(msg)
  perform(*args)
end