class SidekiqSchedulable::Startup

Attributes

current_jobs[R]
schedules[R]

Public Class Methods

new(schedules, current_jobs) click to toggle source
# File lib/sidekiq_schedulable/startup.rb, line 5
def initialize(schedules, current_jobs)
  @schedules = schedules
  @current_jobs = current_jobs
end

Public Instance Methods

schedule!() click to toggle source
# File lib/sidekiq_schedulable/startup.rb, line 10
def schedule!
  schedules.each do |klass_name, schedule|
    unless already_scheduled?(klass_name)
      Schedule.enqueue(schedule)
    end
  end
end

Private Instance Methods

already_scheduled?(klass_name) click to toggle source
# File lib/sidekiq_schedulable/startup.rb, line 22
def already_scheduled?(klass_name)
  scheduled_jobs.any? do |job|
    job.item['class'] == klass_name
  end
end
scheduled_jobs() click to toggle source
# File lib/sidekiq_schedulable/startup.rb, line 28
def scheduled_jobs
  @scheduled_jobs ||= current_jobs.select do |job|
    job.item['scheduled']
  end
end