import asyncio import logging import signal from app.scheduler import Scheduler async def main() -> None: logging.basicConfig(level=logging.INFO, format="%(levelname)s [%(name)s] %(message)s") scheduler = Scheduler() loop = asyncio.get_running_loop() for sig in (signal.SIGINT, signal.SIGTERM): loop.add_signal_handler(sig, scheduler.stop) await scheduler.run() if __name__ == "__main__": asyncio.run(main())