diff --git a/pisa/pisad.py b/pisa/pisad.py index 152d7c9..ac5bf86 100644 --- a/pisa/pisad.py +++ b/pisa/pisad.py @@ -1,5 +1,6 @@ -from sys import argv +from sys import argv, exit from getopt import getopt +from signal import signal, SIGINT, SIGQUIT, SIGTERM from pisa.logger import Logger from pisa.api import start_api @@ -7,7 +8,21 @@ from pisa.tools import can_connect_to_bitcoind, in_correct_network logger = Logger("Daemon") + +def handle_signals(signal_received, frame): + logger.info("Shutting down PISA") + # TODO: #11-add-graceful-shutdown: add code to close the db, free any resources, etc. + + exit(0) + + if __name__ == '__main__': + logger.info("Starting PISA") + + signal(SIGINT, handle_signals) + signal(SIGTERM, handle_signals) + signal(SIGQUIT, handle_signals) + debug = False opts, _ = getopt(argv[1:], 'd', ['debug']) for opt, arg in opts: