asyncx.dispatch
- asyncx.dispatch(loop_selector)[source]
A decorator to dispatch an async function to another event loop.
Example
>>> async def foo() -> None: ... return threading.get_ident() ... >>> @asyncx.dispatch(get_event_loop) ... async def foo_dispatch() -> None: ... return threading.get_ident() ... >>> current, dispatched = await asyncio.gather( ... foo(), foo_dispatch(), ... ) >>> current != dispatched True
- Parameters
loop_selector (Union[asyncio.events.AbstractEventLoop, Callable[[], asyncio.events.AbstractEventLoop]]) – Target event loop to which a coroutine is dispatched. The value must be either an event loop or a callable that returns an event loop.
- Return type
Callable[[asyncx.event_loop.TAsyncCallable], asyncx.event_loop.TAsyncCallable]