Await for update handler to finish in executor

This commit is contained in:
Tulir Asokan 2018-10-02 13:46:26 +03:00
parent 1285f11405
commit ffa0d31ac7

View File

@ -111,8 +111,9 @@ def enable(loop=None, executor=None, max_workers=1):
@functools.wraps(old_add_event_handler) @functools.wraps(old_add_event_handler)
def add_proxied_event_handler(self, callback, *args, **kwargs): def add_proxied_event_handler(self, callback, *args, **kwargs):
def _proxy(*pargs, **pkwargs): async def _proxy(*pargs, **pkwargs):
executor.submit(callback, *pargs, **pkwargs) await loop.run_in_executor(
executor, functools.partial(callback, *pargs, **pkwargs))
proxied_event_handlers[callback] = _proxy proxied_event_handlers[callback] = _proxy