Smarter server teardown procedure

This commit is contained in:
Joel Collins 2019-06-05 16:04:32 +01:00
parent ea253f8085
commit 0f8070b64a

View file

@ -22,6 +22,7 @@ from openflexure_microscope.config import USER_CONFIG_DIR
from openflexure_microscope.api.v1 import blueprints from openflexure_microscope.api.v1 import blueprints
import time
import atexit import atexit
import logging import logging
import sys import sys
@ -168,17 +169,27 @@ def err_log():
def cleanup(): def cleanup():
global api_microscope global api_microscope
logging.debug("App teardown started...") logging.debug("App teardown started...")
logging.debug("Settling...")
time.sleep(0.5)
# Save config # Save config
if api_microscope.rc: logging.debug("Saving config for teardown...")
api_microscope.rc.save(backup=True) api_microscope.save_config(backup=True)
logging.debug("Settling...")
time.sleep(0.5)
# Close down the microscope # Close down the microscope
logging.debug("Closing devices...")
api_microscope.close() api_microscope.close()
logging.debug("Settling...")
time.sleep(0.5)
logging.debug("App teardown complete.") logging.debug("App teardown complete.")
atexit.register(cleanup) atexit.register(cleanup)
if __name__ == "__main__": if __name__ == "__main__":
app.run(host='0.0.0.0', port="5000", threaded=True, debug=True, use_reloader=False) app.run(host='0.0.0.0', port="5000", threaded=True, debug=True, use_reloader=False)