Print linked task tracebacks even when not run in an executor
This commit is contained in:
parent
0364c38068
commit
6f6993ce4c
|
@ -230,11 +230,7 @@ class Facet:
|
||||||
if run_in_executor:
|
if run_in_executor:
|
||||||
inner_coro_fn = coro_fn
|
inner_coro_fn = coro_fn
|
||||||
async def outer_coro_fn(facet):
|
async def outer_coro_fn(facet):
|
||||||
try:
|
await self.loop.run_in_executor(None, lambda: inner_coro_fn(facet))
|
||||||
await self.loop.run_in_executor(None, lambda: inner_coro_fn(facet))
|
|
||||||
except:
|
|
||||||
import traceback
|
|
||||||
traceback.print_exc()
|
|
||||||
coro_fn = outer_coro_fn
|
coro_fn = outer_coro_fn
|
||||||
@self.on_stop_or_crash
|
@self.on_stop_or_crash
|
||||||
def cancel_linked_task():
|
def cancel_linked_task():
|
||||||
|
@ -246,6 +242,9 @@ class Facet:
|
||||||
async def guarded_task():
|
async def guarded_task():
|
||||||
try:
|
try:
|
||||||
await coro_fn(self)
|
await coro_fn(self)
|
||||||
|
except:
|
||||||
|
import traceback
|
||||||
|
traceback.print_exc()
|
||||||
finally:
|
finally:
|
||||||
Turn.external(self, cancel_linked_task)
|
Turn.external(self, cancel_linked_task)
|
||||||
task = self.loop.create_task(guarded_task())
|
task = self.loop.create_task(guarded_task())
|
||||||
|
|
Loading…
Reference in New Issue