Message416374
Now asyncio.Task has a strict hardcoded check for futures processes on task's step.
Sometimes third-party library [1] wants to replace it with custom logic.
Currently it is impossible without implementing the full asyncio.Task replacement from scratch.
`asyncio.Task` is a non-trivial highly optimized part of async, keeping a third-party version in sync with the reference implementation takes more time and effort than it should be.
This issue proposes adding `Task._check_future(future)` method that could be overridden in subclasses. The default C implementation uses a fast path that has no performance penalty.
1. https://github.com/aio-libs/aioloop-proxy implements nested loop proxies that are very useful for writing tests. A proxy can work in parallel with ancestors but checks all own acquired resources cleanup on
the proxy closing. |
|
Date |
User |
Action |
Args |
2022-03-30 15:34:50 | asvetlov | set | recipients:
+ asvetlov, yselivanov |
2022-03-30 15:34:50 | asvetlov | set | messageid: <1648654490.03.0.819318508338.issue47167@roundup.psfhosted.org> |
2022-03-30 15:34:50 | asvetlov | link | issue47167 messages |
2022-03-30 15:34:49 | asvetlov | create | |
|