forked from goodboy/tractor
1
0
Fork 0

Log any asyncio error

infect_asyncio
Tyler Goodlet 2020-09-12 11:41:17 -04:00
parent 8070b16bd0
commit 2cf87146a3
1 changed files with 4 additions and 0 deletions

View File

@ -94,6 +94,8 @@ async def run_task(
""" """
nonlocal err nonlocal err
err = task.exception() err = task.exception()
if err:
log.exception(f"asyncio task errorred:\n{err}")
cancel_scope.cancel() cancel_scope.cancel()
task.add_done_callback(cancel_trio) task.add_done_callback(cancel_trio)
@ -114,6 +116,7 @@ async def run_task(
# simple async func # simple async func
elif inspect.iscoroutine(coro): elif inspect.iscoroutine(coro):
with cancel_scope: with cancel_scope:
# return single value # return single value
return await from_aio.receive() return await from_aio.receive()
@ -121,6 +124,7 @@ async def run_task(
raise err raise err
def run_as_asyncio_guest( def run_as_asyncio_guest(
trio_main: Callable, trio_main: Callable,
) -> None: ) -> None: