异步代码的同步包装器

async-services的Python项目详细描述


异步服务

Build Status

从同步代码运行快速异步代码。异步服务提供要运行的同步包装器 第三方异步代码或任何与同步代码同步的协同程序。

安装

pip install async_services

用于开发目的

安装项目依赖项

pip install -r requirements.txt
pip install -U .

运行测试

您可以使用以下命令运行测试

pytest .

以及编码风格测试

pycodestyle .

示例用法

from async_services.core import run_coro, run_manager, stop_manager
from async_services.core.manager import CoroStatus
import asyncio

async def coroutine(seconds=1, raise_exception=False):
    await asyncio.sleep(seconds)
    if raise_exception:
        raise Exception("Sample Exception")
    return "Hello World"

run_manager()
result = run_coro(coroutine(), block=True)
print(result)
assert result[0] == CoroStatus.Completed
assert result[1] == "Hello World"
stop_manager()

输出

结果将是由两个值(status、result)组成的元组。 状态将是介于0和5之间的整数,它定义了coruotine的状态

(1, 'Hello World')

协同程序状态

目前有六种状态的科罗汀

  1. 排队=0->;协同程序仍在排队等待执行或正在执行中
  2. 已完成=1->;协同程序已成功完成
  3. failed=2->;协同程序已成功完成,但回调函数引发异常
  4. 已取消=3->;已取消协同旅行
  5. 超时=4->;协同程序未在给定时间内完成
  6. CoroutineException=5->;Coroutine本身引发了异常

作者

  • ankit kathuria-initial work

许可证

这个项目是在麻省理工学院的许可下授权的-详细信息请参见LICENSE.md文件

致谢

  • 向任何使用过代码的人提供帽子小费
  • 灵感

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用JDBC重复查询数据库,或者在需要数据时将数据转储到ArrayList并迭代列表?   java是否有任何方法可以“隐藏”Kotlin函数以防改装注释处理器?   为什么这个java嵌套的while循环不工作?   在Java中调用Oracle存储过程时如何避免核心转储   java如何在有限的时间(超时)内从DatagramSocket只读块读取数据?   java使用UCanAccess对同一表进行后续查询的性能较低   java创建伪字符串,如果为true,则返回错误消息   javajaxb生成的模式在JUNO中工作,而不是开普勒   修改文件名时无法保存java文件   Grails:java。lang.IllegalArgumentException:无枚举常量   java需要setParameterList选项   java MockMvc post junit测试在ResponseBody具有集合时返回415   java my webapp无法在上下文中找到bean。xml   java如果我不使用SwingUtilities呢。召唤者?   Linux中可从Java访问的c#注册表级计数器   java Jtable setDefaultRenderer在单元格中消失复选框   java如何避免使用MOXy加载惰性双向关系?