class RooOnRails::Sidekiq::Settings
Constants
- DEFAULT_QUEUE_LATENCY_VALUES
Public Class Methods
concurrency()
click to toggle source
# File lib/roo_on_rails/sidekiq/settings.rb, line 22 def concurrency ENV.fetch('SIDEKIQ_THREADS', 25) end
permitted_latency_values()
click to toggle source
# File lib/roo_on_rails/sidekiq/settings.rb, line 26 def permitted_latency_values @permitted_latency_values ||= ENV.key?('SIDEKIQ_QUEUES') ? env_queue_latency_values.freeze : DEFAULT_QUEUE_LATENCY_VALUES end
queues()
click to toggle source
# File lib/roo_on_rails/sidekiq/settings.rb, line 18 def queues @queues ||= permitted_latency_values.sort_by(&:last).map(&:first).freeze end
Private Class Methods
env_queue_latency_values()
click to toggle source
# File lib/roo_on_rails/sidekiq/settings.rb, line 32 def env_queue_latency_values {}.tap do |hash| ENV['SIDEKIQ_QUEUES'].split(',').each do |entry| queue_entry = entry.strip if DEFAULT_QUEUE_LATENCY_VALUES.key?(queue_entry) queue_name = queue_entry hash[queue_name] = DEFAULT_QUEUE_LATENCY_VALUES[queue_entry] elsif queue_entry.match(/\Awithin\d+.+\z/) _, number, unit = queue_entry.partition(/\d+/) hash[queue_entry] = number.to_i.public_send(unit.strip).to_i elsif queue_entry.include?(':') queue_name, latency_info = queue_entry.split(':') _, number, unit = latency_info.partition(/\d+/) hash[queue_name] = number.to_i.public_send(unit.strip).to_i else hash[queue_entry] = nil end end end end