diff --git a/app.py b/app.py index 47ce9da..873b190 100644 --- a/app.py +++ b/app.py @@ -8,6 +8,8 @@ import json from datetime import datetime from dotenv import load_dotenv import re +import signal +import sys # Load environment variables load_dotenv() @@ -164,6 +166,13 @@ def check_status(domain): except requests.exceptions.RequestException: return jsonify({"status": "offline"}) +def signal_handler(sig, frame): + logger.info("Shutdown signal received, exiting gracefully...") + sys.exit(0) + +signal.signal(signal.SIGTERM, signal_handler) +signal.signal(signal.SIGINT, signal_handler) + if __name__ == '__main__': if USE_LOCAL_CADDYFILE: logger.info(f"Local Caddyfile found at {CADDYFILE_PATH} - will display its data")