Ignore CancelledError from actor system tasks
This commit is contained in:
parent
a4c0bf3e6f
commit
08e49fd14e
|
@ -57,12 +57,18 @@ class System:
|
||||||
|
|
||||||
def queue_task(self, thunk):
|
def queue_task(self, thunk):
|
||||||
async def task():
|
async def task():
|
||||||
|
try:
|
||||||
await ensure_awaitable(thunk())
|
await ensure_awaitable(thunk())
|
||||||
|
except asyncio.CancelledError:
|
||||||
|
pass
|
||||||
return self.loop.create_task(task())
|
return self.loop.create_task(task())
|
||||||
|
|
||||||
def queue_task_threadsafe(self, thunk):
|
def queue_task_threadsafe(self, thunk):
|
||||||
async def task():
|
async def task():
|
||||||
|
try:
|
||||||
await ensure_awaitable(thunk())
|
await ensure_awaitable(thunk())
|
||||||
|
except asyncio.CancelledError:
|
||||||
|
pass
|
||||||
return self.loop.call_soon_threadsafe(lambda: asyncio.run_coroutine_threadsafe(task(), self.loop))
|
return self.loop.call_soon_threadsafe(lambda: asyncio.run_coroutine_threadsafe(task(), self.loop))
|
||||||
|
|
||||||
async def ensure_awaitable(value):
|
async def ensure_awaitable(value):
|
||||||
|
@ -247,6 +253,8 @@ class Facet:
|
||||||
async def guarded_task():
|
async def guarded_task():
|
||||||
try:
|
try:
|
||||||
await coro_fn(self)
|
await coro_fn(self)
|
||||||
|
except asyncio.CancelledError:
|
||||||
|
pass
|
||||||
except:
|
except:
|
||||||
import traceback
|
import traceback
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
|
Loading…
Reference in New Issue