Class: Cloudwatch::Sender::CLI

Inherits:
Thor
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/cloudwatch/sender/cli.rb

Instance Method Summary collapse

Instance Method Details

#continuous(metrics_file, sleep_time = 60, opts = {}) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/cloudwatch/sender/cli.rb', line 33

def continuous(metrics_file, sleep_time = 60, opts = {})
  logger = Logger.new(STDOUT)

  loop do
    begin
      send_metrics(metrics_file, options.merge(opts))
      sleep sleep_time.to_i
    rescue RequiredArgumentMissingError, ArgumentError => e
      logger.error("Required argument invalid or missing '#{e}'")
      exit(1)
    rescue Aws::Errors::MissingCredentialsError => e
      logger.error("#{e}")
      exit(1)
    rescue => e
      logger.debug("Unable to complete operation #{e}")
    end
  end
end

#send_metrics(metrics_file, opts = {}) ⇒ Object



27
28
29
30
# File 'lib/cloudwatch/sender/cli.rb', line 27

def send_metrics(metrics_file, opts = {})
  setup_aws(options.merge(opts), opts["provider"])
  MetricDefinition.metric_type load_metrics(metrics_file)
end