Module: Whacamole
- Defined in:
- lib/whacamole.rb,
lib/whacamole/config.rb,
lib/whacamole/events.rb,
lib/whacamole/stream.rb,
lib/whacamole/version.rb,
lib/whacamole/heroku_wrapper.rb
Defined Under Namespace
Modules: Events
Classes: Config, HerokuWrapper, Stream
Constant Summary
collapse
- VERSION =
"1.1.0"
- @@config =
{}
Class Method Summary
collapse
Class Method Details
10
11
12
13
|
# File 'lib/whacamole.rb', line 10
def self.configure(app_name)
@@config[app_name.to_s] ||= Config.new(app_name)
yield @@config[app_name.to_s]
end
|
.monitor ⇒ Object
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/whacamole.rb', line 15
def self.monitor
threads = []
@@config.each do |app_name, config|
threads << Thread.new do
heroku = HerokuWrapper.new(app_name, config.api_token, config.dynos)
while true
stream_url = heroku.create_log_session
Stream.new(stream_url, heroku, config.restart_threshold, &config.event_handler).watch
end
end
end
threads.collect(&:join)
end
|