From 51e446710b51d0988485fefc011364cd150df77b Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 9 Jan 2025 21:49:43 +0100 Subject: [PATCH] Fixing task cancellation in main --- src/main.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main.py b/src/main.py index 305a425..95a4e8a 100644 --- a/src/main.py +++ b/src/main.py @@ -7,11 +7,18 @@ from endpoints.bettwaage import router as bettwaage_router from endpoints.handlers.fritz import track_network_devices app = FastAPI() -asyncio.create_task(track_network_devices()) -asyncio.create_task(log_bed_weights()) + +loop = asyncio.new_event_loop() +loop.create_task(track_network_devices()) +loop.create_task(log_bed_weights()) app.include_router(hue_router, prefix="/hue", tags=["hue"]) app.include_router(bettwaage_router, prefix="/bettwaage", tags=["bett"]) if __name__ == "__main__": - asyncio.run(lambda: uvicorn.run("main:app", host="0.0.0.0", port=8000, reload=True)) + uvicorn.run("main:app", host="0.0.0.0", port=8000, reload=True) + # Ende tasks + tasks = asyncio.all_tasks(loop) + [t.cancel() for t in tasks] + asyncio.gather(*tasks) + loop.stop()