Module: Neetodeploy::Autoscale
- Extended by:
- NeetoDeploy::Logger
- Defined in:
- lib/neetodeploy-autoscale.rb,
lib/neetodeploy/autoscale/version.rb
Defined Under Namespace
Classes: Error
Constant Summary collapse
- VERSION =
"2.1.5"
Class Method Summary collapse
- .enable_middleware? ⇒ Boolean
- .enable_sidekiq_metrics? ⇒ Boolean
- .in_rails_server? ⇒ Boolean
- .initialize_middlewares ⇒ Object
- .initialize_rails_middleware ⇒ Object
- .initialize_sidekiq_metrics ⇒ Object
- .setup_rails ⇒ Object
- .setup_rails_middleware ⇒ Object
- .setup_sidekiq_metrics ⇒ Object
Methods included from NeetoDeploy::Logger
Class Method Details
.enable_middleware? ⇒ Boolean
29 30 31 |
# File 'lib/neetodeploy-autoscale.rb', line 29 def enable_middleware? ENV["DISABLE_NEETO_DEPLOY_AUTOSCALE"] != "true" && in_rails_server? end |
.enable_sidekiq_metrics? ⇒ Boolean
33 34 35 |
# File 'lib/neetodeploy-autoscale.rb', line 33 def enable_sidekiq_metrics? ENV["DISABLE_NEETO_DEPLOY_SIDEKIQ_METRICS"] != "true" && defined?(::Sidekiq) && Sidekiq.server? end |
.in_rails_server? ⇒ Boolean
62 63 64 65 66 67 68 |
# File 'lib/neetodeploy-autoscale.rb', line 62 def in_rails_server? # FIX ME: This is a gross way to detect if we're in a Rails server. caller_keywords = %w[rails puma unicorn] in_console = caller.any? { |call| call.include?("console_command.rb") || call.include?("runner_command.rb") } is_rails = caller_keywords.any? { |key| File.basename($0).include?(key) } !in_console && is_rails end |
.initialize_middlewares ⇒ Object
55 56 57 58 59 60 |
# File 'lib/neetodeploy-autoscale.rb', line 55 def initialize_middlewares return unless ENV["NEETODEPLOY_APP_NAME"].present? initialize_rails_middleware initialize_sidekiq_metrics end |
.initialize_rails_middleware ⇒ Object
37 38 39 40 41 42 43 44 |
# File 'lib/neetodeploy-autoscale.rb', line 37 def initialize_rails_middleware if enable_middleware? logger.info("Setting up Neetodeploy rails autoscale middleware") setup_rails_middleware else logger.info("Skipping NeetoDeploy rails autoscale middleware") end end |
.initialize_sidekiq_metrics ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'lib/neetodeploy-autoscale.rb', line 46 def initialize_sidekiq_metrics if enable_sidekiq_metrics? logger.info("Setting up Neetodeploy Sidekiq metrics middleware") setup_sidekiq_metrics else logger.info("Skipping NeetoDeploy Sidekiq metrics middleware") end end |
.setup_rails ⇒ Object
17 18 19 |
# File 'lib/neetodeploy-autoscale.rb', line 17 def setup_rails require "neetodeploy/autoscale/rails" end |
.setup_rails_middleware ⇒ Object
13 14 15 |
# File 'lib/neetodeploy-autoscale.rb', line 13 def setup_rails_middleware Neetodeploy::Autoscale.setup_rails if defined? Rails end |
.setup_sidekiq_metrics ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/neetodeploy-autoscale.rb', line 21 def setup_sidekiq_metrics require "neetodeploy/autoscale/sidekiq" ::Sidekiq.configure_server do Neetodeploy::Sidekiq::MetricsCollector.start end end |