From 82173e3b6a6cd1a0c421b5a12a1bc02812eedb32 Mon Sep 17 00:00:00 2001 From: Tristan Gosselin-Hane Date: Fri, 11 Oct 2019 19:24:29 -0400 Subject: [PATCH] Handle SIGTERM by making it raise a KeyboardInterrupt This is an elegant way to make docker stop the bridge cleanly --- minecraft_discord_bridge/minecraft_discord_bridge.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/minecraft_discord_bridge/minecraft_discord_bridge.py b/minecraft_discord_bridge/minecraft_discord_bridge.py index 16b6aa7..e6c6308 100755 --- a/minecraft_discord_bridge/minecraft_discord_bridge.py +++ b/minecraft_discord_bridge/minecraft_discord_bridge.py @@ -29,6 +29,7 @@ import random import string import uuid import asyncio +import signal from threading import Thread from datetime import datetime, timedelta, timezone @@ -820,7 +821,12 @@ class MinecraftDiscordBridge(): self.connection.write_packet(packet) +def handle_sigterm(*args, **kwargs): + raise KeyboardInterrupt() + + def main(): + signal.signal(signal.SIGTERM, handle_sigterm) bridge = MinecraftDiscordBridge() bridge.run()