Fix: Startup of application after 79e335bf2c broke it

This commit is contained in:
2025-12-08 16:14:56 +01:00
parent 63466a62de
commit fc9873402f
+9 -9
View File
@@ -10,7 +10,7 @@ from bot import PostIt_Bot
from utils.datetime_tools import get_elapsed_time_milliseconds, get_elapsed_time_big from utils.datetime_tools import get_elapsed_time_milliseconds, get_elapsed_time_big
import discord import discord
async def main(event_loop:asyncio.AbstractEventLoop): async def main():
PROGRAM_VERSION = "1.0" PROGRAM_VERSION = "1.0"
print(" ____ ____ ___________ __________") print(" ____ ____ ___________ __________")
print(" / __ \/ __ \/ ___/_ __/ / _/_ __/") print(" / __ \/ __ \/ ___/_ __/ / _/_ __/")
@@ -41,18 +41,18 @@ async def main(event_loop:asyncio.AbstractEventLoop):
shutdown_event = asyncio.Event() shutdown_event = asyncio.Event()
def signal_handler(*args): def signal_handler(*args):
app_logger.info("Shutdown signal recieved, shutting down") app_logger.info("Shutdown signal recieved, shutting down")
event_loop.call_soon_threadsafe(shutdown_event.set) shutdown_event.set()
match sys.platform: match sys.platform:
case "linux": case "linux":
app_startup_logger.info("Detected platform: Linux") app_startup_logger.info("Detected platform: Linux")
event_loop.add_signal_handler(signal.SIGINT, signal_handler) signal.signal(signal.SIGINT, signal_handler)
event_loop.add_signal_handler(signal.SIGTERM, signal_handler) signal.signal(signal.SIGTERM, signal_handler)
case "darwin": case "darwin":
app_startup_logger.info("Detected platform: MacOS (Darwin)") app_startup_logger.info("Detected platform: MacOS (Darwin)")
event_loop.add_signal_handler(signal.SIGINT, signal_handler) signal.signal(signal.SIGINT, signal_handler)
event_loop.add_signal_handler(signal.SIGTERM, signal_handler) signal.signal(signal.SIGTERM, signal_handler)
case "win32": case "win32":
app_startup_logger.info("Detected platform: Windows (Win32)") app_startup_logger.info("Detected platform: Windows (Win32)")
@@ -90,8 +90,8 @@ async def main(event_loop:asyncio.AbstractEventLoop):
try: try:
bot_instance = PostIt_Bot(startup_time, PROGRAM_VERSION, app_logger) bot_instance = PostIt_Bot(startup_time, PROGRAM_VERSION, app_logger)
bot_task = event_loop.create_task(bot_instance.start(os.getenv("DISCORD_TOKEN"))) bot_task = asyncio.create_task(bot_instance.start(os.getenv("DISCORD_TOKEN")))
shutdown_task = event_loop.create_task(shutdown_event.wait()) shutdown_task = asyncio.create_task(shutdown_event.wait())
# Wait if either the bot disconnects or the shutdown event is detected # Wait if either the bot disconnects or the shutdown event is detected
finished_task, _ = await asyncio.wait( finished_task, _ = await asyncio.wait(
@@ -112,4 +112,4 @@ async def main(event_loop:asyncio.AbstractEventLoop):
# Entry point for execution # Entry point for execution
if __name__ == "__main__": if __name__ == "__main__":
asyncio.run(main(asyncio.get_event_loop())) asyncio.run(main())