From a1af4e563a774f29772776af52aa7be262ced65c Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 29 Dec 2022 17:25:49 -0800 Subject: [PATCH] Python 3.11 compatibility. https://docs.python.org/3/library/asyncio-task.html#asyncio.wait says: > Changed in version 3.11: Passing coroutine objects to wait() directly > is forbidden. --- game/server/eventstream/routes.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/game/server/eventstream/routes.py b/game/server/eventstream/routes.py index e1210bfd..929a0b1b 100644 --- a/game/server/eventstream/routes.py +++ b/game/server/eventstream/routes.py @@ -1,3 +1,4 @@ +import asyncio from asyncio import wait from fastapi import APIRouter, WebSocket @@ -30,7 +31,9 @@ class ConnectionManager: async def broadcast(self, events: GameUpdateEventsJs) -> None: futures = [] for connection in self.active_connections: - futures.append(connection.send_json(jsonable_encoder(events))) + futures.append( + asyncio.create_task(connection.send_json(jsonable_encoder(events))) + ) await wait(futures)