Sha256: c47f449ba3a0691ade4bbaf15429d1fcd060186f544c5693d37f5ec416275a67

Contents?: true

Size: 847 Bytes

Versions: 1

Compression:

Stored size: 847 Bytes

Contents

module Resque
  module Plugins
    module DynamicQueues
      module Attributes

        def get_dynamic_queue(key)
          queue_names = redis.lrange("dynamic_queue:#{key}", 0, -1)

          if queue_names.nil? || queue_names.size == 0
            queue_names = redis.lrange("dynamic_queue:default", 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 = "dynamic_queue:#{key}"
          redis.del(k)
          Array(values).each do |v|
             redis.rpush(k, v)
          end
        end

        def get_dynamic_queues
          (redis.keys("dynamic_queue:*") || []).collect{|q| q.gsub('dynamic_queue:', '')}
        end

      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
resque-dynamic-queues-0.6.0 lib/resque/plugins/dynamic_queues/attributes.rb