Fixing task cancellation in main

This commit is contained in:
Maximilian Giller 2025-01-09 21:49:43 +01:00
parent 003284ccba
commit 51e446710b

View file

@ -7,11 +7,18 @@ from endpoints.bettwaage import router as bettwaage_router
from endpoints.handlers.fritz import track_network_devices from endpoints.handlers.fritz import track_network_devices
app = FastAPI() 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(hue_router, prefix="/hue", tags=["hue"])
app.include_router(bettwaage_router, prefix="/bettwaage", tags=["bett"]) app.include_router(bettwaage_router, prefix="/bettwaage", tags=["bett"])
if __name__ == "__main__": 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()