class QPush::Web::Apis::Retries
Public Class Methods
new(start, count)
click to toggle source
# File lib/qpush/web/apis/retries.rb, line 5 def initialize(start, count) @start = start ? start.to_i : 0 @count = count ? count.to_i : 10 @jobs = nil end
Public Instance Methods
call()
click to toggle source
# File lib/qpush/web/apis/retries.rb, line 11 def call retrieve_jobs update_jobs trim_jobs end
Private Instance Methods
retrieve_jobs()
click to toggle source
# File lib/qpush/web/apis/retries.rb, line 19 def retrieve_jobs @jobs = Web.redis do |conn| conn.zrange(Web.keys[:delay], 0, -1, with_scores: true) end end
trim_jobs()
click to toggle source
# File lib/qpush/web/apis/retries.rb, line 33 def trim_jobs @jobs.compact! @jobs[@start, @count] end
update_jobs()
click to toggle source
# File lib/qpush/web/apis/retries.rb, line 25 def update_jobs @jobs.map! do |job| hash = JSON.parse(job.first, symbolize_names: true).merge(perform_at: job.last) next unless hash[:failed] hash end end