This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author yselivanov
Recipients asvetlov, docs@python, yselivanov
Date 2017-12-13.20:03:46
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1513195426.44.0.213398074469.issue32309@psf.upfronthosting.co.za>
In-reply-to
Content
I don't like the low-level API of run_in_executor.  "executor" being the first argument, the inability to pass **kwargs, etc.

I'd expect to see a more high-level API, perhaps the one that supports 'async with':

    async with asyncio.ThreadPool() as pool:
        f1 = pool.run(func1)
        f2 = pool.run(func2)
        r3 = await pool.run(func3)

    r1 = f1.result()
    r2 = f2.result()
    print(r1, r2, r3)

I mean it's great that we can use 'concurrent.futures' in asyncio, but having native asyncio pools implementation would be way more convenient to the users.

In any case, can we focus this issue on the "run_in_executor" API, and open a new one for "create_task"?
History
Date User Action Args
2017-12-13 20:03:46yselivanovsetrecipients: + yselivanov, asvetlov, docs@python
2017-12-13 20:03:46yselivanovsetmessageid: <1513195426.44.0.213398074469.issue32309@psf.upfronthosting.co.za>
2017-12-13 20:03:46yselivanovlinkissue32309 messages
2017-12-13 20:03:46yselivanovcreate