Class: Sidekiq::SortedSet
- Inherits:
-
Object
- Object
- Sidekiq::SortedSet
- Includes:
- Enumerable
- Defined in:
- lib/sidekiq/api.rb
Direct Known Subclasses
Instance Method Summary collapse
- #delete(score) ⇒ Object
- #each(&block) ⇒ Object
-
#initialize(name) ⇒ SortedSet
constructor
A new instance of SortedSet.
- #size ⇒ Object
Constructor Details
#initialize(name) ⇒ SortedSet
Returns a new instance of SortedSet.
115 116 117 |
# File 'lib/sidekiq/api.rb', line 115 def initialize(name) @zset = name end |
Instance Method Details
#delete(score) ⇒ Object
140 141 142 143 144 145 |
# File 'lib/sidekiq/api.rb', line 140 def delete(score) count = Sidekiq.redis do |conn| conn.zremrangebyscore(@zset, score, score) end count != 0 end |
#each(&block) ⇒ Object
123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
# File 'lib/sidekiq/api.rb', line 123 def each(&block) # page thru the sorted set backwards so deleting entries doesn't screw up indexing page = -1 page_size = 50 loop do elements = Sidekiq.redis do |conn| conn.zrange @zset, page * page_size, (page * page_size) + (page_size - 1), :with_scores => true end break if elements.empty? page -= 1 elements.each do |element, score| block.call SortedEntry.new(self, score, element) end end end |