寻找一些关于如何将python水泥框架(http://builtoncement.com/)与asyncio(https://docs.python.org/3.4/library/asyncio.html)相结合的指南。在
我有一个基于异步的事件引擎启动并运行,我对它的进展和简单性非常满意。性能也不错。在
现在我需要添加更复杂的处理程序、钩子和插件,浏览我发现的各种选项,水泥似乎是最受欢迎的,而且维护也很好。在
我喜欢它处理日志、配置、参数、输出和插件。在
然而,我找不到一个将asyncio与水泥框架一起使用的例子。在
任何一点,无论是可能的,建议的,甚至水泥的替代品(与asyncio很好地合作)将是非常受欢迎的。在
谢谢!在
在大多数情况下,将水泥与asyncio集成起来非常容易。我发现的最好的方法是用自己的实例扩展CementApp,并利用setup()获取循环并在需要时注册其他线程池。在
注册一个\u post_run钩子允许您执行run_,直到初始化生成器完成为止
注册一个'u pre_close hook允许您完成所有挂起的异步任务。在
剩下的工作由_init()和_finish()协同程序完成,主要应用程序逻辑如下:
你可以在这里找到一个有效的例子:https://github.com/fxstein/SentientHome/blob/master/engine/event.engine.py
相关问题 更多 >
编程相关推荐