mirror of
https://github.com/bunkerity/bunkerized-nginx
synced 2023-12-13 21:30:18 +01:00
29 lines
816 B
Python
29 lines
816 B
Python
import socketserver, threading, utils, os, stat
|
|
|
|
class ReloadServerHandler(socketserver.StreamRequestHandler):
|
|
|
|
def handle(self) :
|
|
try :
|
|
data = self.request.recv(512)
|
|
if not data :
|
|
return
|
|
with self.server.lock :
|
|
ret = self.server.autoconf.reload()
|
|
if ret :
|
|
self.request.sendall("ok".encode("utf-8"))
|
|
else :
|
|
self.request.sendall("ko".encode("utf-8"))
|
|
except Exception as e :
|
|
utils.log("Exception " + str(e))
|
|
|
|
def run_reload_server(autoconf, lock) :
|
|
server = socketserver.UnixStreamServer("/tmp/autoconf.sock", ReloadServerHandler)
|
|
os.chown("/tmp/autoconf.sock", 0, 101)
|
|
os.chmod("/tmp/autoconf.sock", 0o770)
|
|
server.autoconf = autoconf
|
|
server.lock = lock
|
|
thread = threading.Thread(target=server.serve_forever)
|
|
thread.daemon = True
|
|
thread.start()
|
|
return (server, thread)
|