Class: SidekiqEcsScaler::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/sidekiq-ecs-scaler/configuration.rb

Overview

SidekiqEcsScaler::Configuration

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializevoid



26
27
28
29
30
31
32
33
# 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

Instance Attribute Details

#enabledBoolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/sidekiq-ecs-scaler/configuration.rb', line 8

def enabled
  @enabled
end

#max_countInteger

Returns:

  • (Integer)


17
18
19
# File 'lib/sidekiq-ecs-scaler/configuration.rb', line 17

def max_count
  @max_count
end

#max_latencyInteger

Returns:

  • (Integer)


20
21
22
# File 'lib/sidekiq-ecs-scaler/configuration.rb', line 20

def max_latency
  @max_latency
end

#min_countInteger

Returns:

  • (Integer)


14
15
16
# File 'lib/sidekiq-ecs-scaler/configuration.rb', line 14

def min_count
  @min_count
end

#queue_nameString

Returns:

  • (String)


11
12
13
# File 'lib/sidekiq-ecs-scaler/configuration.rb', line 11

def queue_name
  @queue_name
end

#task_metaSidekiqEcsScaler::TaskMetaV4? (readonly)



23
24
25
# File 'lib/sidekiq-ecs-scaler/configuration.rb', line 23

def task_meta
  @task_meta
end

Instance Method Details

#ecs_clientAws::ECS::Client

Returns:

  • (Aws::ECS::Client)


95
96
97
# File 'lib/sidekiq-ecs-scaler/configuration.rb', line 95

def ecs_client
  @ecs_client ||= Aws::ECS::Client.new
end

#ecs_client=(ecs_client) ⇒ void

This method returns an undefined value.

Parameters:

  • ecs_client (Aws::ECS::Client)

Raises:

  • (ArgumentError)


102
103
104
105
106
# 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

#latency_per_countInteger

Returns:

  • (Integer)


109
110
111
112
113
# 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

#loggerLogger

Returns:

  • (Logger)


45
46
47
# File 'lib/sidekiq-ecs-scaler/configuration.rb', line 45

def logger
  @logger ||= Sidekiq.logger
end

#logger=(logger) ⇒ void

This method returns an undefined value.

Parameters:

  • logger (Logger)

Raises:

  • (ArgumentError)


51
52
53
54
55
# File 'lib/sidekiq-ecs-scaler/configuration.rb', line 51

def logger=(logger)
  raise ArgumentError unless logger.is_a?(Logger)

  @logger = logger
end

#sidekiq_optionsHash

Returns:

  • (Hash)


121
122
123
# File 'lib/sidekiq-ecs-scaler/configuration.rb', line 121

def sidekiq_options
  ::SidekiqEcsScaler::Worker.sidekiq_options
end

#sidekiq_options=(sidekiq_options) ⇒ void

This method returns an undefined value.

Parameters:

  • sidekiq_options (Hash)

Raises:

  • (ArgumentError)


127
128
129
130
131
# 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!SidekiqEcsScaler::TaskMetaV4



116
117
118
# File 'lib/sidekiq-ecs-scaler/configuration.rb', line 116

def task_meta!
  task_meta || (raise Error, "task metadata is null!")
end