Opened 6 months ago

Last modified 6 months ago

#36315 assigned Cleanup/optimization

use task groups/cancel scopes where possible — at Version 1

Reported by: Thomas Grainger Owned by: Thomas Grainger
Component: HTTP handling Version: dev
Severity: Normal Keywords: async
Cc: Carlton Gibson Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Thomas Grainger)

eg replace asyncio.create_task with a Task Group
replace wait_for/wait with Timeout/CancelScope
create a function for asyncio.gather that uses a Task Group

This could use anyio.create_task_group and anyio.CancelScope, but now there's 3.11 asyncio.TaskGroup and asyncio.Timeout are available.

Obviously I'm biased and think the anyio versions are a better choice, but it's easier to add asyncio.TaskGroup/Timeout and worry about trio support in the 'future'.

Change History (1)

comment:1 by Thomas Grainger, 6 months ago

Description: modified (diff)
Owner: set to Thomas Grainger
Note: See TracTickets for help on using tickets.
Back to Top