使用asyncio的python 3.5中的事件分派

accordian的Python项目详细描述


https://img.shields.io/travis/numberoverzero/accordian/master.svg?style=flat-squarehttps://img.shields.io/coveralls/numberoverzero/accordian/master.svg?style=flat-squarehttps://img.shields.io/pypi/v/accordian.svg?style=flat-squarehttps://img.shields.io/github/issues-raw/numberoverzero/accordian.svg?style=flat-square

使用Asyncio的Python3.5中的事件分派

安装

pip install accordian

开始

import asyncio
import accordian
import random

loop = asyncio.new_event_loop()

dispatch = accordian.Dispatch(loop=loop)
dispatch.register("my_event", ["id", "value"])


@dispatch.on("my_event")
async def handle(id, value):
    sleep = 5.0 * random.random()
    print("Handling `my_event(id={})` in {} seconds.".format(id, sleep))
    await asyncio.sleep(sleep, loop=loop)
    print("`Completed my_event(id={})`!".format(id))


ids = range(4)
values = [random.random() for _ in ids]
for id, value in zip(ids, values):
    params = {"id": id, "value": value}
    dispatch.trigger("my_event", params)

loop.create_task(dispatch.start())
loop.run_until_complete(asyncio.sleep(0.01, loop=loop))
loop.run_until_complete(dispatch.stop())

贡献

欢迎投稿!请在提交PR之前确保tox通过(包括flake8)。

开发

手风琴使用toxpytestflake8。要设置所有设置:

# RECOMMENDED: create a virtualenv with:
#     mkvirtualenv accordian
git clone https://github.com/numberoverzero/accordian.git
pip install tox
tox

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

推荐PyPI第三方库


热门话题
java Kafka在producer上流式传输自定义头   java ExecutorService:不需要输出   java并发读取不可修改的映射   如何匹配Java计算机的给定输出猜你的数字游戏;二进制搜索   java使用数据库创建新对象   javascript如何用spring mvc上传图像我尝试了这种方法,如何解决这个问题   java如何使用Quarkus Panache仅选择某些字段?   java如何通知其他对象(如何“关闭”队列)ArrayBlockingQueue中将不再有元素,   java使用JavaFX MediaPlayer从MP3读取ID3v2标记   当我们在Android上打开应用程序时,java仅在第三次显示toast   apache spark java。RuntimeException:java。lang.Integer不是bigint:java架构的有效外部类型。伊奥。IOException   模拟插座。用于测试Java的getOutputStream()   java在git对分期间,只运行失败的测试安全吗?或者我们应该运行所有测试?   java Android MediaPlayer音量非常低(已调整音量)   java组织。冬眠服务UnknownServiceException:请求的未知服务[org.hibernate.ogm.service.impl.OgmConfigurationService]   java扫描程序没有停止   java无法在JBoss EAP 6.2上调用远程EJB