from typing import Callable
from typing import Any
import asyncio


async def exec_as_aio(blocking_fn: Callable[..., Any], *args: Any) -> Any:
    """Asyncronously run blocking functions.

    Args:
        blocking_fn (Callable[..., Any]): The blocking fn.

    Returns:
        Any: The return value/s of the blocking fn.
    """
    loop = asyncio.get_running_loop()
    return await loop.run_in_executor(None, blocking_fn, *args)