Sha256: d1e854b9959462af0d8ce9e01a1df607ea5ccb3b4a9ac58e55c19f6586166170

Contents?: true

Size: 689 Bytes

Versions: 7

Compression:

Stored size: 689 Bytes

Contents

module Resque
  module Plugins
    module QueuePriority

      PRIORITY_KEY = "queue_priority"

      module Attributes

        def priority_buckets
          priorities = Array(redis.lrange(PRIORITY_KEY, 0, -1))
          priorities = priorities.collect {|p| Resque.decode(p) }
          priorities << {'pattern' => 'default'} unless priorities.find {|b| b['pattern'] == 'default' }
          return priorities
        end

        def priority_buckets=(data)
          redis.multi do
            redis.del(PRIORITY_KEY)
            Array(data).each do |v|
               redis.rpush(PRIORITY_KEY, Resque.encode(v))
            end
          end
        end

      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
resque-queue-priority-0.6.2 lib/resque/plugins/queue_priority/attributes.rb
resque-queue-priority-0.6.1 lib/resque/plugins/queue_priority/attributes.rb
resque-queue-priority-0.6.0 lib/resque/plugins/queue_priority/attributes.rb
resque-queue-priority-0.5.3 lib/resque/plugins/queue_priority/attributes.rb
resque-queue-priority-0.5.2 lib/resque/plugins/queue_priority/attributes.rb
resque-queue-priority-0.5.1 lib/resque/plugins/queue_priority/attributes.rb
resque-queue-priority-0.5.0 lib/resque/plugins/queue_priority/attributes.rb