class MultiWorker::Adapters::Resque
Public Class Methods
configure(base, opts={})
click to toggle source
# File lib/multi_worker/adapters/resque.rb, line 4 def self.configure(base, opts={}) base.class_eval do @queue = opts[:queue] if @retry = opts[:retry] require "resque-retry" extend ::Resque::Plugins::Retry @retry_limit = @retry[:limit] @retry_delay = @retry[:delay] end if @lock = opts[:lock] require "resque-lock-timeout" extend ::Resque::Plugins::LockTimeout if @lock.is_a?(Hash) && @lock[:timeout] @lock_timeout = @lock[:timeout].to_i end if opts[:unique] @loner = true end elsif opts[:unique] require "resque-loner" include ::Resque::Plugins::UniqueJob end if opts[:status] require "resque-status" include ::Resque::Plugins::Status end def self.perform(*args) self.new.perform(*args) end def self.perform_async(*args) ::Resque.enqueue(self, *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/resque.rb, line 37 def self.perform(*args) self.new.perform(*args) end
perform_async(*args)
click to toggle source
# File lib/multi_worker/adapters/resque.rb, line 41 def self.perform_async(*args) ::Resque.enqueue(self, *args) end
rake_task()
click to toggle source
# File lib/multi_worker/adapters/resque.rb, line 51 def self.rake_task require 'rake' require 'resque/tasks' ::Rake::Task['resque:work'] end
Public Instance Methods
perform_async(*args)
click to toggle source
# File lib/multi_worker/adapters/resque.rb, line 45 def perform_async(*args) self.class.perform_async(*args) end