diff --git a/game/server/eventstream/routes.py b/game/server/eventstream/routes.py index 140bf03a..ddfb4449 100644 --- a/game/server/eventstream/routes.py +++ b/game/server/eventstream/routes.py @@ -1,4 +1,4 @@ -from asyncio import wait +from asyncio import wait, tasks from fastapi import APIRouter, WebSocket from fastapi.encoders import jsonable_encoder @@ -17,8 +17,8 @@ class ConnectionManager: async def shutdown(self) -> None: futures = [] for connection in self.active_connections: - futures.append(connection.close()) - await wait(futures) # type: ignore + futures.append(tasks.create_task(connection.close())) + await wait(futures) async def connect(self, websocket: WebSocket) -> None: await websocket.accept() @@ -30,8 +30,10 @@ class ConnectionManager: async def broadcast(self, events: GameUpdateEventsJs) -> None: futures = [] for connection in self.active_connections: - futures.append(connection.send_json(jsonable_encoder(events))) - await wait(futures) # type: ignore + futures.append( + tasks.create_task(connection.send_json(jsonable_encoder(events))) + ) + await wait(futures) manager = ConnectionManager()