[#3] Add some correction to handle this properly
This commit is contained in:
parent
d0dc923d92
commit
ac2b3c464c
11
pvcd.py
11
pvcd.py
|
@ -142,7 +142,7 @@ def zk_listener(state):
|
||||||
zk_conn.add_listener(zk_listener)
|
zk_conn.add_listener(zk_listener)
|
||||||
|
|
||||||
# Cleanup function
|
# Cleanup function
|
||||||
def cleanup(signum, frame):
|
def cleanup():
|
||||||
ansiiprint.echo('Terminating daemon', '', 'e')
|
ansiiprint.echo('Terminating daemon', '', 'e')
|
||||||
# Set stop state in Zookeeper
|
# Set stop state in Zookeeper
|
||||||
zk_conn.set('/nodes/{}/daemonstate'.format(myhostname), 'stop'.encode('ascii'))
|
zk_conn.set('/nodes/{}/daemonstate'.format(myhostname), 'stop'.encode('ascii'))
|
||||||
|
@ -150,8 +150,6 @@ def cleanup(signum, frame):
|
||||||
zk_conn.close()
|
zk_conn.close()
|
||||||
# Stop keepalive thread
|
# Stop keepalive thread
|
||||||
stopKeepaliveTimer(update_timer)
|
stopKeepaliveTimer(update_timer)
|
||||||
# Exit
|
|
||||||
sys.exit(0)
|
|
||||||
|
|
||||||
# Flush function
|
# Flush function
|
||||||
def flush():
|
def flush():
|
||||||
|
@ -159,15 +157,18 @@ def flush():
|
||||||
this_node.flush()
|
this_node.flush()
|
||||||
|
|
||||||
# Shutdown function
|
# Shutdown function
|
||||||
def dshutdown():
|
def dshutdown(signum, frame):
|
||||||
ansiiprint.echo('Flushing this node', '', 'e')
|
ansiiprint.echo('Flushing this node', '', 'e')
|
||||||
flush()
|
flush()
|
||||||
ansiiprint.echo('NOTE: This node must be unflushed by the administrator after daemon startup', '', 'i')
|
ansiiprint.echo('NOTE: This node must be unflushed by the administrator after daemon startup', '', 'i')
|
||||||
cleanup()
|
cleanup()
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
# Reload shutdown function
|
# Reload shutdown function
|
||||||
def dreload():
|
def dreload(signum, frame):
|
||||||
cleanup()
|
cleanup()
|
||||||
|
python = sys.executable
|
||||||
|
os.execl(python, python, *sys.argv)
|
||||||
|
|
||||||
# Handle signals gracefully
|
# Handle signals gracefully
|
||||||
signal.signal(signal.SIGTERM, dshutdown)
|
signal.signal(signal.SIGTERM, dshutdown)
|
||||||
|
|
Loading…
Reference in New Issue