A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/ipython/ipython/issues/11303/ below:

asyncio.ensure_future does not run until next await · Issue #11303 · ipython/ipython · GitHub

I tried something like ipython/ipykernel#323 (comment) but it looks like "background" tasks are run only when await statement is executed?

Python 3.7.0 (default, Jul 15 2018, 10:44:58)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.0.0.dev -- An enhanced Interactive Python. Type '?' for help.

IPython profile: plain

In [1]: import asyncio
   ...:
   ...: async def aprint(*args):
   ...:     print(*args)
   ...:
   ...: asyncio.ensure_future(aprint("background future"))
Out[1]: <Task pending coro=<aprint() running at <ipython-input-1-c3f9a8264358>:3>>

In [2]:

In [2]:

In [2]: await aprint("foreground")
background future
foreground

Also, asyncio.create_task does not work:

In [3]: asyncio.create_task(aprint("background task"))
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-3-6787ab5b49b6> in <module>
----> 1 asyncio.create_task(aprint("background task"))

/usr/lib64/python3.7/asyncio/tasks.py in create_task(coro)
    318     Return a Task object.
    319     """
--> 320     loop = events.get_running_loop()
    321     return loop.create_task(coro)
    322

RuntimeError: no running event loop

Reading

Non-Asynchronous code ~~~~~~~~~~~~~~~~~~~~~ As the internal API of IPython are now asynchronous, IPython need to run under an even loop. In order to allow many workflow, (like using the ``%run`` magic,

I thought the event loop is always running. But it's not the case, right?

In [4]: asyncio.get_event_loop()
Out[4]: <_UnixSelectorEventLoop running=False closed=False debug=False>

In [5]: async def print_loop():
   ...:     print(asyncio.get_event_loop())

In [6]: await print_loop()
<_UnixSelectorEventLoop running=True closed=False debug=False>

I was expecting running=True in Out[4].

Checked with 73d6335


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4