paulbsd-salt/states/haproxy/scripts/state.lua
2023-06-23 08:47:25 +02:00

42 lines
882 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 = "Worker with pid ".. core.get_info()["Pid"] .. " exited for create_state task"
print(msg)
core.done(msg)
end
core.sleep(sleep_secs)
end
end
core.register_task(create_state)