From 0f8070b64a504009ce1ad5f3a04093e57a98de95 Mon Sep 17 00:00:00 2001 From: Joel Collins Date: Wed, 5 Jun 2019 16:04:32 +0100 Subject: [PATCH] Smarter server teardown procedure --- openflexure_microscope/api/app.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/openflexure_microscope/api/app.py b/openflexure_microscope/api/app.py index 84bd0b9c..d2931aa5 100644 --- a/openflexure_microscope/api/app.py +++ b/openflexure_microscope/api/app.py @@ -22,6 +22,7 @@ from openflexure_microscope.config import USER_CONFIG_DIR from openflexure_microscope.api.v1 import blueprints +import time import atexit import logging import sys @@ -168,17 +169,27 @@ def err_log(): def cleanup(): global api_microscope logging.debug("App teardown started...") + logging.debug("Settling...") + time.sleep(0.5) # Save config - if api_microscope.rc: - api_microscope.rc.save(backup=True) + logging.debug("Saving config for teardown...") + api_microscope.save_config(backup=True) + + logging.debug("Settling...") + time.sleep(0.5) # Close down the microscope + logging.debug("Closing devices...") api_microscope.close() + + logging.debug("Settling...") + time.sleep(0.5) + logging.debug("App teardown complete.") atexit.register(cleanup) if __name__ == "__main__": - app.run(host='0.0.0.0', port="5000", threaded=True, debug=True, use_reloader=False) \ No newline at end of file + app.run(host='0.0.0.0', port="5000", threaded=True, debug=True, use_reloader=False)