Handle shutdown request properly if not file server is running

This commit is contained in:
shortcutme 2018-04-04 15:33:25 +02:00
parent d927e85eca
commit 026b6a4b01
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE

View file

@ -10,13 +10,16 @@ last_error = None
def shutdown(): def shutdown():
print "Shutting down..." print "Shutting down..."
try: if "file_server" in dir(sys.modules["main"]) and sys.modules["main"].file_server.running:
if "file_server" in dir(sys.modules["main"]): try:
gevent.spawn(sys.modules["main"].file_server.stop) if "file_server" in dir(sys.modules["main"]):
if "ui_server" in dir(sys.modules["main"]): gevent.spawn(sys.modules["main"].file_server.stop)
gevent.spawn(sys.modules["main"].ui_server.stop) if "ui_server" in dir(sys.modules["main"]):
except Exception, err: gevent.spawn(sys.modules["main"].ui_server.stop)
print "Proper shutdown error: %s" % err except Exception, err:
print "Proper shutdown error: %s" % err
sys.exit(0)
else:
sys.exit(0) sys.exit(0)
# Store last error, ignore notify, allow manual error logging # Store last error, ignore notify, allow manual error logging
@ -94,4 +97,4 @@ if __name__ == "__main__":
thread1.kill(exception=Debug.Notify("Worker stopped")) thread1.kill(exception=Debug.Notify("Worker stopped"))
#thread2.throw(Debug.Notify("Throw")) #thread2.throw(Debug.Notify("Throw"))
print "killed" print "killed"
gevent.joinall([thread1,thread2]) gevent.joinall([thread1,thread2])