paulbsd-salt/states/haproxy/scripts/state.lua
Paul e9b2c207f9
All checks were successful
continuous-integration/drone/push Build is passing
updated haproxy state
2024-05-25 13:54:44 +02:00

42 lines
893 B
Lua

local sleep_secs = 15
local args = table.pack(...)
if args[1] ~= nil then sleep_secs = args[1] end
function create_state()
local try = 0
local lastconns = 0
while true do
if lastconns == core.get_info()["CumConns"] then
try = try+1
end
local s = core.tcp()
local c = s:connect("127.0.0.1:9990")
local sent = s:send("show servers state\n")
local content,err = s:receive("*a")
s:close()
if content ~= nil then
if #content>0 then
local f = io.open("/var/run/haproxy.state","w")
f:write(content)
io.close(f)
end
end
lastconns = core.get_info()["CumConns"]
if try == 10 then
local msg = string.format("Worker with pid %s exited for create_state task",core.get_info()["Pid"])
print(msg)
core.done(msg)
end
core.sleep(sleep_secs)
end
end
core.register_task(create_state)