Class: RailsAutoscaleAgent::Config
- Inherits:
-
Object
- Object
- RailsAutoscaleAgent::Config
- Includes:
- Singleton
- Defined in:
- lib/rails_autoscale_agent/config.rb
Constant Summary collapse
- DEFAULT_WORKER_ADAPTERS =
'sidekiq,delayed_job,que,resque'
Instance Attribute Summary collapse
-
#addon_name ⇒ Object
Returns the value of attribute addon_name.
-
#api_base_url ⇒ Object
Returns the value of attribute api_base_url.
-
#debug ⇒ Object
(also: #debug?)
Returns the value of attribute debug.
-
#dev_mode ⇒ Object
(also: #dev_mode?)
Returns the value of attribute dev_mode.
-
#dyno ⇒ Object
Returns the value of attribute dyno.
-
#latency_for_active_jobs ⇒ Object
Returns the value of attribute latency_for_active_jobs.
-
#logger ⇒ Object
Returns the value of attribute logger.
-
#max_queues ⇒ Object
Returns the value of attribute max_queues.
-
#max_request_size ⇒ Object
Returns the value of attribute max_request_size.
-
#quiet ⇒ Object
(also: #quiet?)
Returns the value of attribute quiet.
-
#report_interval ⇒ Object
Returns the value of attribute report_interval.
-
#sidekiq_latency_for_active_jobs ⇒ Object
Returns the value of attribute sidekiq_latency_for_active_jobs.
-
#track_long_running_jobs ⇒ Object
Returns the value of attribute track_long_running_jobs.
-
#worker_adapters ⇒ Object
Returns the value of attribute worker_adapters.
Instance Method Summary collapse
- #ignore_large_requests? ⇒ Boolean
-
#initialize ⇒ Config
constructor
A new instance of Config.
- #to_s ⇒ Object
Constructor Details
#initialize ⇒ Config
Returns a new instance of Config.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/rails_autoscale_agent/config.rb', line 18 def initialize @worker_adapters = prepare_worker_adapters # Allow the add-on name to be configured - needed for testing @addon_name = ENV['RAILS_AUTOSCALE_ADDON'] || 'RAILS_AUTOSCALE' @api_base_url = ENV["#{@addon_name}_URL"] @dev_mode = ENV['RAILS_AUTOSCALE_DEV'] == 'true' @debug = dev_mode? || ENV['RAILS_AUTOSCALE_DEBUG'] == 'true' @track_long_running_jobs = ENV['RAILS_AUTOSCALE_LONG_JOBS'] == 'true' @max_queues = ENV.fetch('RAILS_AUTOSCALE_MAX_QUEUES', 50).to_i @max_request_size = 100_000 # ignore request payloads over 100k since they skew the queue times @report_interval = 10 # this default will be overwritten during Reporter#register! @logger ||= defined?(Rails) ? Rails.logger : ::Logger.new(STDOUT) @dyno = dev_mode? ? 'dev.1' : ENV['DYNO'] end |
Instance Attribute Details
#addon_name ⇒ Object
Returns the value of attribute addon_name.
11 12 13 |
# File 'lib/rails_autoscale_agent/config.rb', line 11 def addon_name @addon_name end |
#api_base_url ⇒ Object
Returns the value of attribute api_base_url.
11 12 13 |
# File 'lib/rails_autoscale_agent/config.rb', line 11 def api_base_url @api_base_url end |
#debug ⇒ Object Also known as: debug?
Returns the value of attribute debug.
11 12 13 |
# File 'lib/rails_autoscale_agent/config.rb', line 11 def debug @debug end |
#dev_mode ⇒ Object Also known as: dev_mode?
Returns the value of attribute dev_mode.
11 12 13 |
# File 'lib/rails_autoscale_agent/config.rb', line 11 def dev_mode @dev_mode end |
#dyno ⇒ Object
Returns the value of attribute dyno.
11 12 13 |
# File 'lib/rails_autoscale_agent/config.rb', line 11 def dyno @dyno end |
#latency_for_active_jobs ⇒ Object
Returns the value of attribute latency_for_active_jobs.
11 12 13 |
# File 'lib/rails_autoscale_agent/config.rb', line 11 def latency_for_active_jobs @latency_for_active_jobs end |
#logger ⇒ Object
Returns the value of attribute logger.
11 12 13 |
# File 'lib/rails_autoscale_agent/config.rb', line 11 def logger @logger end |
#max_queues ⇒ Object
Returns the value of attribute max_queues.
11 12 13 |
# File 'lib/rails_autoscale_agent/config.rb', line 11 def max_queues @max_queues end |
#max_request_size ⇒ Object
Returns the value of attribute max_request_size.
11 12 13 |
# File 'lib/rails_autoscale_agent/config.rb', line 11 def max_request_size @max_request_size end |
#quiet ⇒ Object Also known as: quiet?
Returns the value of attribute quiet.
11 12 13 |
# File 'lib/rails_autoscale_agent/config.rb', line 11 def quiet @quiet end |
#report_interval ⇒ Object
Returns the value of attribute report_interval.
11 12 13 |
# File 'lib/rails_autoscale_agent/config.rb', line 11 def report_interval @report_interval end |
#sidekiq_latency_for_active_jobs ⇒ Object
Returns the value of attribute sidekiq_latency_for_active_jobs.
11 12 13 |
# File 'lib/rails_autoscale_agent/config.rb', line 11 def sidekiq_latency_for_active_jobs @sidekiq_latency_for_active_jobs end |
#track_long_running_jobs ⇒ Object
Returns the value of attribute track_long_running_jobs.
11 12 13 |
# File 'lib/rails_autoscale_agent/config.rb', line 11 def track_long_running_jobs @track_long_running_jobs end |
#worker_adapters ⇒ Object
Returns the value of attribute worker_adapters.
11 12 13 |
# File 'lib/rails_autoscale_agent/config.rb', line 11 def worker_adapters @worker_adapters end |
Instance Method Details
#ignore_large_requests? ⇒ Boolean
38 39 40 |
# File 'lib/rails_autoscale_agent/config.rb', line 38 def ignore_large_requests? @max_request_size end |
#to_s ⇒ Object
34 35 36 |
# File 'lib/rails_autoscale_agent/config.rb', line 34 def to_s "#{@dyno}##{Process.pid}" end |