class SidekiqEcsScaler::Configuration
Attributes
@!attribute [r] enabled @return [Boolean]
@!attribute [r] max_count
@return [Integer]
@!attribute [r] max_latency
@return [Integer]
@!attribute [r] min_count
@return [Integer]
@!attribute [r] queue_name
@return [String]
@!attribute [r] task_meta
@return [SidekiqEcsScaler::TaskMetaV4, nil]
Public Class Methods
@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
@return [Aws::ECS::Client]
# File lib/sidekiq-ecs-scaler/configuration.rb, line 95 def ecs_client @ecs_client ||= Aws::ECS::Client.new end
@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
@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
@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
@return [Logger]
# File lib/sidekiq-ecs-scaler/configuration.rb, line 45 def logger @logger ||= Sidekiq.logger end
@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
@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
@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
@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
@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
@return [Hash]
# File lib/sidekiq-ecs-scaler/configuration.rb, line 121 def sidekiq_options ::SidekiqEcsScaler::Worker.sidekiq_options end
@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
@return [SidekiqEcsScaler::TaskMetaV4]
# File lib/sidekiq-ecs-scaler/configuration.rb, line 116 def task_meta! task_meta || (raise Error, "task metadata is null!") end