41
Python 3.11 introduced TaskGroup as a structured concurrency primitive. I'm refactoring a microservice that heavily uses asyncio.gather. The TaskGroup context manager feels cleaner but I'm not sure about the error propagation differences in production. Does TaskGroup always cancel sibling tasks on first exception?