class SidekiqRunner::SidekiqConfiguration

Constants

RUNNER_ATTRIBUTES

Attributes

sidekiqs[R]

Public Class Methods

default() click to toggle source
# File lib/sidekiq-runner/sidekiq_configuration.rb, line 23
def self.default
  @default ||= SidekiqConfiguration.new
end
get() click to toggle source
# File lib/sidekiq-runner/sidekiq_configuration.rb, line 27
def self.get
  config = default.dup
  config.merge_config_file!
  config.sane?
  config
end
new() click to toggle source
# File lib/sidekiq-runner/sidekiq_configuration.rb, line 12
def initialize
  @config_file =
    if defined?(Rails)
      File.join(Rails.root, 'config', 'sidekiq.yml')
    else
      File.join(Dir.pwd, 'config', 'sidekiq.yml')
    end

  @sidekiqs    = {}
end

Public Instance Methods

add_instance(name) { |sidekiqs| ... } click to toggle source
# File lib/sidekiq-runner/sidekiq_configuration.rb, line 46
def add_instance(name)
  fail "Sidekiq instance with the name '#{name}' already exists! No duplicates please." if @sidekiqs.key?(name)

  @sidekiqs[name] = SidekiqInstance.new(name)
  yield @sidekiqs[name] if block_given?
end
add_queue(name, weight = 1)
Alias for: queue
each(&block) click to toggle source
# File lib/sidekiq-runner/sidekiq_configuration.rb, line 34
def each(&block)
  @sidekiqs.each(&block)
end
each_key(&block) click to toggle source
# File lib/sidekiq-runner/sidekiq_configuration.rb, line 38
def each_key(&block)
  @sidekiqs.each_key(&block)
end
empty?() click to toggle source
# File lib/sidekiq-runner/sidekiq_configuration.rb, line 42
def empty?
  @sidekiqs.empty?
end
ensure_default_sidekiq!() click to toggle source
# File lib/sidekiq-runner/sidekiq_configuration.rb, line 84
def ensure_default_sidekiq!
  add_instance('sidekiq_default') if empty?
end
merge_config_file!() click to toggle source
# File lib/sidekiq-runner/sidekiq_configuration.rb, line 88
def merge_config_file!
  yml = File.exist?(config_file) ? YAML.load_file(config_file) : {}
  yml = Hash[yml.map { |k, v| [k.to_sym, v] }]

  @sidekiqs.each_value { |skiq| skiq.merge_config_file!(yml) }
end
queue(name, weight = 1) click to toggle source
# File lib/sidekiq-runner/sidekiq_configuration.rb, line 62
def queue(name, weight = 1)
  fail 'Multiple Sidekiq instances defined and queue() outside of instance block called.' if @sidekiqs.size > 1

  ensure_default_sidekiq!
  @sidekiqs.values.first.add_queue(name, weight)
end
Also aliased as: add_queue
sane?() click to toggle source
# File lib/sidekiq-runner/sidekiq_configuration.rb, line 95
def sane?
  fail 'No sidekiq instances defined. Nothing to run.' if @sidekiqs.empty?

  @sidekiqs.each_value { |skiq| skiq.sane? }
end