Signal "Arrêt immédiat demandé"

This commit is contained in:
skylanix
2025-08-16 12:14:49 +02:00
committed by skylanix
parent a32036630b
commit 0a034bfabc

View File

@@ -1,6 +1,9 @@
import locale import locale
import logging import logging
import os
import signal
import sys
import threading import threading
from webapp import webapp from webapp import webapp
from discordbot import bot from discordbot import bot
@@ -15,14 +18,31 @@ def start_discord_bot():
with webapp.app_context(): with webapp.app_context():
bot.begin() bot.begin()
def signal_handler(sig, frame):
logging.info("Arrêt immédiat...")
os._exit(0)
if __name__ == '__main__': if __name__ == '__main__':
locale.setlocale(locale.LC_TIME, 'fr_FR.UTF-8') locale.setlocale(locale.LC_TIME, 'fr_FR.UTF-8')
signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler)
jobs = [] jobs = []
jobs.append(threading.Thread(target=start_discord_bot)) discord_thread = threading.Thread(target=start_discord_bot)
jobs.append(threading.Thread(target=start_server)) server_thread = threading.Thread(target=start_server)
for job in jobs: job.start() discord_thread.daemon = True
for job in jobs: job.join() server_thread.daemon = True
jobs.append(discord_thread)
jobs.append(server_thread)
try:
for job in jobs: job.start()
for job in jobs: job.join()
except KeyboardInterrupt:
logging.info("Arrêt immédiat demandé")
os._exit(0)