diff --git a/playout/libretime_playout/main.py b/playout/libretime_playout/main.py index 9fdc5feb5..d4b50d088 100644 --- a/playout/libretime_playout/main.py +++ b/playout/libretime_playout/main.py @@ -30,8 +30,8 @@ from .player.push import PypoPush from .recorder import Recorder -def keyboardInterruptHandler(signum, frame): - logger.info("\nKeyboard Interrupt\n") +def shutdown_handler(signum, frame): + logger.info("shutting down") sys.exit(0) @@ -63,7 +63,8 @@ def cli(log_level: str, log_filepath: Optional[Path], config_filepath: Optional[ logger.info("Timezone: %s" % str(time.tzname)) logger.info("UTC time: %s" % str(datetime.utcnow())) - signal.signal(signal.SIGINT, keyboardInterruptHandler) + signal.signal(signal.SIGINT, shutdown_handler) + signal.signal(signal.SIGTERM, shutdown_handler) legacy_client = LegacyClient() api_client = ApiClient( diff --git a/playout/libretime_playout/player/fetch.py b/playout/libretime_playout/player/fetch.py index 1ab76bc79..192de055a 100644 --- a/playout/libretime_playout/player/fetch.py +++ b/playout/libretime_playout/player/fetch.py @@ -23,12 +23,13 @@ from .liquidsoap import PypoLiquidsoap from .schedule import get_schedule -def keyboardInterruptHandler(signum, frame): - logger.info("\nKeyboard Interrupt\n") +def shutdown_handler(signum, frame): + logger.info("shutting down") sys.exit(0) -signal.signal(signal.SIGINT, keyboardInterruptHandler) +signal.signal(signal.SIGINT, shutdown_handler) +signal.signal(signal.SIGTERM, shutdown_handler) class PypoFetch(Thread): diff --git a/playout/libretime_playout/player/queue.py b/playout/libretime_playout/player/queue.py index 95736c9c2..d77eaabb6 100644 --- a/playout/libretime_playout/player/queue.py +++ b/playout/libretime_playout/player/queue.py @@ -11,12 +11,13 @@ from ..utils import seconds_between from .liquidsoap import PypoLiquidsoap -def keyboardInterruptHandler(signum, frame): - logger.info("\nKeyboard Interrupt\n") +def shutdown_handler(signum, frame): + logger.info("shutting down") sys.exit(0) -signal.signal(signal.SIGINT, keyboardInterruptHandler) +signal.signal(signal.SIGINT, shutdown_handler) +signal.signal(signal.SIGTERM, shutdown_handler) class PypoLiqQueue(Thread):