module Resque

Public Instance Methods

enqueue(klass, *args)
Also aliased as: enqueue_without_throttle
enqueue_with_throttle(klass, *args) click to toggle source
# File lib/resque/resque.rb, line 9
def enqueue_with_throttle(klass, *args)
  if should_throttle?(klass, *args)
    unless klass.throttle_settings[:silent]
      raise(
        ThrottledError,
        "#{klass} with key #{klass.key(*args)} has exceeded it's throttle limit"
      )
    end
  else
    enqueue_without_throttle(klass, *args)
  end
end
Also aliased as: enqueue
enqueue_without_throttle(klass, *args)
Alias for: enqueue

Private Instance Methods

key_found?(klass, *args) click to toggle source
# File lib/resque/resque.rb, line 33
def key_found?(klass, *args)
   redis.get(klass.key(*args))
end
should_throttle?(klass, *args) click to toggle source
# File lib/resque/resque.rb, line 26
def should_throttle?(klass, *args)
  return false if !throttle_job?(klass) || klass.disabled
  return true if key_found?(klass, *args)
  redis.setex(klass.key(*args), klass.can_run_every, true)
  return false
end
throttle_job?(klass) click to toggle source
# File lib/resque/resque.rb, line 37
def throttle_job?(klass)
  klass.ancestors.include?(Resque::ThrottledJob)  
end