class SidekiqEcsScaler::Configuration

SidekiqEcsScaler::Configuration

Attributes

enabled[R]

@!attribute [r] enabled @return [Boolean]

max_count[R]

@!attribute [r] max_count @return [Integer]

max_latency[R]

@!attribute [r] max_latency @return [Integer]

min_count[R]

@!attribute [r] min_count @return [Integer]

queue_name[R]

@!attribute [r] queue_name @return [String]

task_meta[R]

@!attribute [r] task_meta @return [SidekiqEcsScaler::TaskMetaV4, nil]

Public Class Methods

new() click to toggle source

@return [void]

# File lib/sidekiq-ecs-scaler/configuration.rb, line 26
def initialize
  @queue_name = "default"
  @min_count = 1
  @max_count = 1
  @max_latency = 3600
  @task_meta = TaskMetaV4.build_or_null
  @enabled = true
end

Public Instance Methods

ecs_client() click to toggle source

@return [Aws::ECS::Client]

# File lib/sidekiq-ecs-scaler/configuration.rb, line 95
def ecs_client
  @ecs_client ||= Aws::ECS::Client.new
end
ecs_client=(ecs_client) click to toggle source

@param ecs_client [Aws::ECS::Client] @return [void] @raise [ArgumentError]

# File lib/sidekiq-ecs-scaler/configuration.rb, line 102
def ecs_client=(ecs_client)
  raise ArgumentError unless ecs_client.is_a?(Aws::ECS::Client)

  @ecs_client = ecs_client
end
enabled=(enabled) click to toggle source

@param enabled [Boolean] @return [void] @raise [ArgumentError]

# File lib/sidekiq-ecs-scaler/configuration.rb, line 38
def enabled=(enabled)
  raise ArgumentError if !enabled.is_a?(TrueClass) && !enabled.is_a?(FalseClass)

  @enabled = enabled
end
latency_per_count() click to toggle source

@return [Integer]

# File lib/sidekiq-ecs-scaler/configuration.rb, line 109
def latency_per_count
  (max_latency / (1 + max_count - min_count)).tap do |value|
    value.positive? || (raise Error, "latency per count isn't positive!")
  end
end
logger() click to toggle source

@return [Logger]

# File lib/sidekiq-ecs-scaler/configuration.rb, line 45
def logger
  @logger ||= Sidekiq.logger
end
logger=(logger) click to toggle source

@param logger [Logger] @return [void]

# File lib/sidekiq-ecs-scaler/configuration.rb, line 51
def logger=(logger)
  raise ArgumentError unless logger.is_a?(Logger)

  @logger = logger
end
max_count=(max_count) click to toggle source

@param max_count [Integer] @return [void] @raise [ArgumentError]

# File lib/sidekiq-ecs-scaler/configuration.rb, line 78
def max_count=(max_count)
  raise ArgumentError unless max_count.positive?

  @max_count = max_count
  @min_count = max_count if max_count < min_count
end
max_latency=(max_latency) click to toggle source

@param max_latency [Integer] @return [void] @raise [ArgumentError]

# File lib/sidekiq-ecs-scaler/configuration.rb, line 88
def max_latency=(max_latency)
  raise ArgumentError if max_count > max_latency

  @max_latency = max_latency
end
min_count=(min_count) click to toggle source

@param min_count [Integer] @return [void] @raise [ArgumentError]

# File lib/sidekiq-ecs-scaler/configuration.rb, line 68
def min_count=(min_count)
  raise ArgumentError unless min_count.positive?

  @min_count = min_count
  @max_count = min_count if min_count > max_count
end
queue_name=(queue_name) click to toggle source

@param queue_name [String] @return [void]

# File lib/sidekiq-ecs-scaler/configuration.rb, line 59
def queue_name=(queue_name)
  raise ArgumentError unless queue_name.instance_of?(String)

  @queue_name = queue_name
end
sidekiq_options() click to toggle source

@return [Hash]

# File lib/sidekiq-ecs-scaler/configuration.rb, line 121
def sidekiq_options
  ::SidekiqEcsScaler::Worker.sidekiq_options
end
sidekiq_options=(sidekiq_options) click to toggle source

@param sidekiq_options [Hash] @return [void]

# File lib/sidekiq-ecs-scaler/configuration.rb, line 127
def sidekiq_options=(sidekiq_options)
  raise ArgumentError unless sidekiq_options.is_a?(Hash)

  ::SidekiqEcsScaler::Worker.sidekiq_options(sidekiq_options)
end
task_meta!() click to toggle source

@return [SidekiqEcsScaler::TaskMetaV4]

# File lib/sidekiq-ecs-scaler/configuration.rb, line 116
def task_meta!
  task_meta || (raise Error, "task metadata is null!")
end