Class: ConsulBridge::MonitorDockerEvents

Inherits:
Object
  • Object
show all
Includes:
Metaractor
Defined in:
lib/consul_bridge/monitor_docker_events.rb

Instance Method Summary collapse

Instance Method Details

#callObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/consul_bridge/monitor_docker_events.rb', line 10

def call
  begin
    filters = {type: [:container], event: [:start], container: [container_name]}.to_json
    Docker::Event.stream(filters: filters) do |event|
      handler.call(event)
    end
  rescue Docker::Error::TimeoutError
    retry
  rescue Excon::Errors::SocketError => e
    if Errno::ENOENT === e.cause
      raise
    else
      puts "Warning: #{e.message}; retrying"
      retry
    end
  end
end