1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00

Support reverse paging of sorted sets, #1098

This commit is contained in:
Mike Perham 2014-02-01 13:51:09 -08:00
parent b0107b5d99
commit 81de381ecc
3 changed files with 17 additions and 7 deletions

View file

@ -1,9 +1,10 @@
HEAD
2.17.4
-----------
- Fix JID support in inline testing, #1454
- Polish worker arguments display in UI, #1453
- Marshal arguments fully to avoid worker mutation, #1452
- Support reverse paging sorted sets, #1098
2.17.3

View file

@ -1,6 +1,6 @@
module Sidekiq
module Paginator
def page(key, pageidx=1, page_size=25)
def page(key, pageidx=1, page_size=25, opts=nil)
current_page = pageidx.to_i < 1 ? 1 : pageidx.to_i
pageidx = current_page - 1
total_size = 0
@ -13,11 +13,20 @@ module Sidekiq
case type
when 'zset'
total_size = conn.zcard(key)
items = conn.zrange(key, starting, ending, :with_scores => true)
rev = opts.try(:[], :reverse)
total_size, items = conn.multi do
conn.zcard(key)
if rev
conn.zrevrange(key, starting, ending, :with_scores => true)
else
conn.zrange(key, starting, ending, :with_scores => true)
end
end
when 'list'
total_size = conn.llen(key)
items = conn.lrange(key, starting, ending)
total_size, items = conn.multi do
conn.llen(key)
conn.lrange(key, starting, ending)
end
when 'none'
return [1, 0, []]
else

View file

@ -1,3 +1,3 @@
module Sidekiq
VERSION = "2.17.2"
VERSION = "2.17.4"
end