Class: InstanceAgent::Agent::Base
- Inherits:
-
Object
- Object
- InstanceAgent::Agent::Base
show all
- Defined in:
- lib/instance_agent/agent/base.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.runner ⇒ Object
6
7
8
|
# File 'lib/instance_agent/agent/base.rb', line 6
def self.runner
self.new
end
|
Instance Method Details
#description ⇒ Object
10
11
12
|
# File 'lib/instance_agent/agent/base.rb', line 10
def description
self.class.to_s
end
|
#log(severity, message) ⇒ Object
14
15
16
17
|
# File 'lib/instance_agent/agent/base.rb', line 14
def log(severity, message)
raise ArgumentError, "Unknown severity #{severity.inspect}" unless InstanceAgent::Log::SEVERITIES.include?(severity.to_s)
InstanceAgent::Log.send(severity.to_sym, "#{description}: #{message}")
end
|
#run ⇒ Object
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/instance_agent/agent/base.rb', line 19
def run
perform
rescue Aws::Errors::MissingCredentialsError
log(:error, "Missing credentials - please check if this instance was started with an IAM instance profile")
sleep InstanceAgent::Config.config[:wait_after_error]
rescue SocketError, Errno::ENETDOWN, Aws::Errors::ServiceError => e
log(:error, "Cannot reach InstanceService: #{e.class} - #{e.message}")
sleep InstanceAgent::Config.config[:wait_after_error]
rescue Exception => e
log(:error, "Error during perform: #{e.class} - #{e.message} - #{e.backtrace.join("\n")}")
sleep InstanceAgent::Config.config[:wait_after_error]
end
|