Sha256: 5d16d7adb2245857baf8dbae9dd937ea76d019f1aa9a16d803ab12cb676c721e
Contents?: true
Size: 1.08 KB
Versions: 1
Compression:
Stored size: 1.08 KB
Contents
module Resque module Plugins module DynamicQueues KEY_PREFIX = "dynamic_queue" FALLBACK_KEY = "default" module Attributes def get_dynamic_queue(key) queue_names = redis.lrange("#{KEY_PREFIX}:#{key}", 0, -1) if queue_names.nil? || queue_names.size == 0 queue_names = redis.lrange("#{KEY_PREFIX}:#{FALLBACK_KEY}", 0, -1) end if queue_names.nil? || queue_names.size == 0 queue_names = Resque.queues end return queue_names end def set_dynamic_queue(key, values) k = "#{KEY_PREFIX}:#{key}" redis.multi do redis.del(k) Array(values).each do |v| redis.rpush(k, v) end end end def get_dynamic_queues dqueues = redis.keys("#{KEY_PREFIX}:*") || [] dqueues = dqueues.collect{|q| q.gsub('dynamic_queue:', '')} dqueues << FALLBACK_KEY unless dqueues.include?(FALLBACK_KEY) return dqueues end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
resque-dynamic-queues-0.6.1 | lib/resque/plugins/dynamic_queues/attributes.rb |