bunkerweb/autoconf/ReloadServer.py
2021-03-16 17:56:24 +01:00

24 lines
606 B
Python

import socketserver, threading
class ReloadServerHandler(socketserver.BaseRequestHandler):
def handle(self) :
data = self.request.recv(512)
if not data :
return
with self.server.lock :
ret = self.server.autoconf.reload()
if ret :
self.request.sendall("ok")
else :
self.request.sendall("ko")
def run_reload_server(autoconf, lock) :
server = socketserver.UnixStreamServer("/tmp/autoconf.pid", ReloadServerHandler)
server.autoconf = autoconf
server.lock = lock
thread = threading.Thread(target=server.serve_forever)
thread.daemon = True
thread.start()
return (server, thread)