50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# File 'lib/resque/failure/redis.rb', line 50
def self.each(offset = 0, limit = self.count, queue = :failed, class_name = nil, order = 'desc')
if class_name
original_limit = limit
limit = count
end
all_items = limit == 1 ? [all(offset,limit,queue)] : Array(all(offset, limit, queue))
reversed = false
if order.eql? 'desc'
all_items.reverse!
reversed = true
end
all_items.each_with_index do |item, i|
if !class_name || (item['payload'] && item['payload']['class'] == class_name && (original_limit -= 1) >= 0)
if reversed
id = (all_items.length - 1) + (offset - i)
else
id = offset + i
end
yield id, item
end
end
end
|