Class: EbDeployer::EventPoller

Inherits:
Object
  • Object
show all
Includes:
Utils
Defined in:
lib/eb_deployer/event_poller.rb

Constant Summary

Constants included from Utils

Utils::BACKOFF_INITIAL_SLEEP

Instance Method Summary collapse

Methods included from Utils

#backoff, #reject_nil, #symbolize_keys

Constructor Details

#initialize(app, env, eb_driver) ⇒ EventPoller

Returns a new instance of EventPoller.



5
6
7
# File 'lib/eb_deployer/event_poller.rb', line 5

def initialize(app, env, eb_driver)
  @app, @env, @eb_driver = app, env, eb_driver
end

Instance Method Details

#poll(start_time = Time.now, &block) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/eb_deployer/event_poller.rb', line 9

def poll(start_time = Time.now, &block)
  handled = Set.new
  loop do
    fetch_events(start_time) do |events|
      new_events = events.reject { |e| handled.include?(digest(e)) }
      handle(new_events, &block)
      handled += new_events.map { |e| digest(e) }
    end
    sleep 15
  end
end