Uh oh!
There was an error while loading. Please reload this page.
bpo-32309: Implement asyncio.to_thread() - #20143
Conversation
Co-authored-by: Yury Selivanov <yury@edgedb.com>
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Chris Jerdonek <chris.jerdonek@gmail.com>
aeros
commented
May 17, 2020
/cc @1st1 |
1st1
commented
May 18, 2020
This looks great to me. Please don't merge before @asvetlov and @cjerdonek approve. |
Uh oh!
There was an error while loading. Please reload this page.
tmewett
commented
May 18, 2020
Is the name finalised? I saw the discussion about I would suggest create_task: Wrap the coroutine into a Task and schedule its execution. Return the Task object. create_thread: Wrap the function in a thread and start its execution. Return a future object. If you see what I mean? The functions are very similar but one is for coros concurrently in the event loop and the other is for functions concurrently in threads. |
cjerdonek
commented
May 18, 2020
Thanks. @tmewett I think the proposed name is good enough. Re: |
asvetlov
left a comment
There was a problem hiding this comment.
I have a little doubt for the documentation text; the code itself and test are fine.
Uh oh!
There was an error while loading. Please reload this page.
1st1
commented
May 18, 2020
@aeros Looks like everybody approves this so you can go ahead and merge! Next todo:
|
aeros
commented
May 19, 2020
Awesome, thanks for the reviews @1st1, @cjerdonek, and @asvetlov! I'll discuss the documentation a bit more w/ Andrew regarding the examples, and then proceed w/ merging it. |
Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
aeros
commented
May 19, 2020
Thanks for the review as well @methane. :-) |
Note that this missed the 3.9 boat; it's now merged into 3.10. The whatsnew entry should be moved accordingly :) (The documentation needs the appropriate |
Currently, I'm reaching out to Łukasz to see if we could consider including this in 3.9b2 since it was so close to the deadline (it's been a WIP since last year and would have otherwise made it on-time, if not for some last minute changes). If he decides that it's too late, I'll update the whatsnew entry. (I'll also add the |
miss-islington
commented
May 19, 2020
Thanks @aeros for the PR 🌮🎉.. I'm working now to backport this PR to: 3.9. |
bedevere-bot
commented
May 19, 2020
GH-20212 is a backport of this pull request to the 3.9 branch. |
Implements `asyncio.to_thread`, a coroutine for asynchronously running IO-bound functions in a separate thread without blocking the event loop. See the discussion starting from [here](https://github.com/python/cpython/pull/18410GH-issuecomment-628930973) in pythonGH-18410 for context. Automerge-Triggered-By: @aeros (cherry picked from commit cc2bbc2) Co-authored-by: Kyle Stanley <aeros167@gmail.com>
Implements `asyncio.to_thread`, a coroutine for asynchronously running IO-bound functions in a separate thread without blocking the event loop. See the discussion starting from [here](https://github.com/python/cpython/pull/18410GH-issuecomment-628930973) in GH-18410 for context. Automerge-Triggered-By: @aeros (cherry picked from commit cc2bbc2) Co-authored-by: Kyle Stanley <aeros167@gmail.com>
aeros
commented
May 19, 2020
Uh oh!
There was an error while loading. Please reload this page.
Allows contextvars from the main thread to be accessed in the separate thread used in `asyncio.to_thread()`. See the [discussion](#20143 (comment)) in GH-20143 for context. Automerge-Triggered-By: @aeros
…GH-20278) Allows contextvars from the main thread to be accessed in the separate thread used in `asyncio.to_thread()`. See the [discussion](https://github.com/python/cpython/pull/20143GH-discussion_r427808225) in pythonGH-20143 for context. Automerge-Triggered-By: @aeros (cherry picked from commit 0f56263) Co-authored-by: Kyle Stanley <aeros167@gmail.com>
Allows contextvars from the main thread to be accessed in the separate thread used in `asyncio.to_thread()`. See the [discussion](https://github.com/python/cpython/pull/20143GH-discussion_r427808225) in GH-20143 for context. Automerge-Triggered-By: @aeros (cherry picked from commit 0f56263) Co-authored-by: Kyle Stanley <aeros167@gmail.com>
Implements `asyncio.to_thread`, a coroutine for asynchronously running IO-bound functions in a separate thread without blocking the event loop. See the discussion starting from [here](python#18410 (comment)) in pythonGH-18410 for context. Automerge-Triggered-By: @aeros
…GH-20278) Allows contextvars from the main thread to be accessed in the separate thread used in `asyncio.to_thread()`. See the [discussion](python#20143 (comment)) in pythonGH-20143 for context. Automerge-Triggered-By: @aeros
Implements
asyncio.to_thread, a coroutine for asynchronously running IO-bound functions in a separate thread without blocking the event loop. See the discussion starting from here in GH-18410 for context.https://bugs.python.org/issue32309
Automerge-Triggered-By: @aeros