haproxystats 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/haproxystats/socket.rb +20 -11
  2. metadata +1 -1
@@ -16,19 +16,28 @@ class HAProxySocket
16
16
  end
17
17
 
18
18
  # Open a socket, run a command, collect output and close
19
- def run(command)
20
- sock = UNIXSocket.new @location
21
- sock.puts command
22
- out = ''
23
- first_char = sock.read 2
24
- if first_char == '# '
25
- out = CSV.parse(sock.read)
19
+ def run(command, try_again=true)
20
+ begin
21
+ sock = UNIXSocket.new @location
22
+ sock.puts command
23
+ out = ''
24
+ first_char = sock.read 2
25
+ if first_char == '# '
26
+ out = CSV.parse(sock.read)
27
+ sock.close
28
+ return out
29
+ end
30
+ out = first_char + sock.read
26
31
  sock.close
27
- return out
32
+ out
33
+ rescue Errno::EPIPE
34
+ if try_again
35
+ sock.close
36
+ run(command, try_again=false)
37
+ else
38
+ raise IOError, "IO Error 32 with socket"
39
+ end
28
40
  end
29
- out = first_char + sock.read
30
- sock.close
31
- out
32
41
  end
33
42
 
34
43
  # Show info from haproxy
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: haproxystats
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: