class QPush::Web::Apis::Crons

Public Class Methods

new(start, count) click to toggle source
# File lib/qpush/web/apis/crons.rb, line 5
def initialize(start, count)
  @jobs = nil
  @start = start ? start.to_i : 0
  @count = count ? count.to_i : 10
end

Public Instance Methods

call() click to toggle source
# File lib/qpush/web/apis/crons.rb, line 11
def call
  retrieve_delays
  filter_crons
end

Private Instance Methods

filter_crons() click to toggle source
# File lib/qpush/web/apis/crons.rb, line 24
def filter_crons
  @jobs.map! do |job|
    hash = JSON.parse(job.first).merge(perform_at: job.last)
    hash['cron'].empty? ? next : hash
  end
  @jobs.compact[@start, @count]
end
retrieve_delays() click to toggle source
# File lib/qpush/web/apis/crons.rb, line 18
def retrieve_delays
  @jobs = Web.redis do |conn|
    conn.zrange(Web.keys[:delay], 0, -1, with_scores: true)
  end
end