Class: KumoDockerCloud::HaproxyCommand

Inherits:
Object
  • Object
show all
Defined in:
lib/kumo_dockercloud/haproxy_command.rb

Instance Method Summary collapse

Constructor Details

#initialize(container_id, dc_client) ⇒ HaproxyCommand

Returns a new instance of HaproxyCommand.



5
6
7
8
# File 'lib/kumo_dockercloud/haproxy_command.rb', line 5

def initialize(container_id, dc_client)
  @container_id = container_id
  @dc_client = dc_client
end

Instance Method Details

#execute(command) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/kumo_dockercloud/haproxy_command.rb', line 10

def execute(command)
  cmd = %(sh -c "echo #{command} | nc -U /var/run/haproxy.stats")
  api = DockerCloud::ContainerStreamAPI.new(@container_id, cmd, @dc_client.headers, @dc_client)

  handler = KumoDockerCloud::HaproxyEventHandler.new
  api.on(:open, &handler.on_open)
  api.on(:message, &handler.on_message)
  api.on(:error, &handler.on_error)
  api.on(:close, &handler.on_close)

  api.run!
  handler.data
end