diff --git a/internal_loop.py b/internal_loop.py index d81ad64..4893f99 100644 --- a/internal_loop.py +++ b/internal_loop.py @@ -9,11 +9,17 @@ from utils.db.db_execution import ExecutionQueryAsync loop_stop_label: bool = True -def internal_loop_stop(): +async def internal_loop_stop(task: asyncio.Task) -> None: print("Stopping main Loop") loop = asyncio.get_event_loop() global loop_stop_label loop_stop_label = False + try: + await task + print("Cancelled") + except asyncio.CancelledError: + print("Cancelled exception") + pass async def internal_loop(influxdb_client: InfluxDBClientAsync, mysql_client: AsyncSession): i = 0 diff --git a/main.py b/main.py index bf74e78..e1bd42d 100644 --- a/main.py +++ b/main.py @@ -33,13 +33,7 @@ async def startup(fast_api: FastAPI): yield finally: # Shutdown logic - internal_loop_stop() - try: - await task - print("Cancelled") - except asyncio.CancelledError: - print("Cancelled exception") - pass + await internal_loop_stop(task) await influxdb_client.close() mysql_engine = get_mysql_engine() await mysql_client.close()