同步到异步和异步到同步函数包装器
syncasync的Python项目详细描述
这个包基于https://github.com/django/asgiref/blob/master/asgiref/sync.py
同步到异步和异步到同步函数包装器
它们允许您包装或修饰异步或同步函数,以便从 另一种方式(因此可以从同步线程调用异步函数, 反之亦然)。
特别是:
- AsyncToSync允许同步子线程停止并等待 函数在主线程的事件循环上调用,然后控件 异步函数完成时返回到线程。
- synctoasync允许异步代码调用同步函数,该函数在 当 函数完成
其思想是使从异步代码和 同步代码中的异步api,因此更容易从 一种风格对另一种风格。对于通道,我们包装(同步) 带有synctoasync的django视图系统,允许它在(异步)中运行 asgi服务器。
依赖关系
syncasync需要python 3.5或更高版本。
测试
要运行测试,请确保已在包中安装了testsextra:
pip install -e .[tests] pytest