В частности, у подключения есть event_queue, в который кладутся события, приходящие от сервера. Я захотел, чтобы к каждому подключению была привязана корутина, которая бы делала async for data in connection (у меня есть __aiter__, __anext__), затем парсила данные и клала созданный event в очередь.
Проблема - если не сохранять task, то мы отправим корутину в свободное плавание, а мне хочется обрабатывать исключения при парсинге. Одним словом, надо какой-то TaskPool с методом add(Coroutine) и методом set_exception_handler(Callable/Coroutine), который мог бы, скажем, прологировать беду, а затем перезапустить корутину.
Есть какие-нибудь решения, которые не сводятся к asyncio.gather или asyncio.wait над заранее известным набором задач (у меня же к фабрике может быть в любой момент новый запрос на подключение)?
asyncio.TaskGroup
Нет в моём Python 3.8
а что стоит просто скопировать этот класс из 3.11
там, кажется, ExceptionGroup испольуются
Да и я сейчас почекал... Это контекстный менеджер. То бишь, немного мимо.
(Вот исходное сообщение)
так тебе никто готовое решение не даст... придется самому тоже пораскинуть мозгами
ну. вроде он и пытается...
просмотри ветку, желательно глазами...
А оно вообще могло бы быть, просто я плохо гуглил.
потому что есть вероятность того, что оно не будет работать?
Обсуждают сегодня