module Resque
Public Instance Methods
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
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