使用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第三方库


热门话题
关于如何将spring mvc重构为普通servlet或jetty处理程序的java建议   java循环和处理数据输入错误   使用java获取更改内容   java试图向一个数组中添加5张不同的“卡”,但它正在添加5张相同的卡   Java函数在Matlab类中变得未定义   多线程Java使用对象作为监视器,那个对象不是太重了吗?   将MySQL日期转换为Java日期:Android   java ResourceBundle在哪里。getBundle(“ResourceFile”,新语言环境(“us”,“us”))查找该文件?   java第一人称摄影机卷   如何在java中交替使用两个字符   addActionListener上下文中的java“this”   几天后,java Grails和Jasig CAS重定向循环   JavaAnt如何在javac中使用exclude、excludesfile?   java如何设置单行RecyclerView上的文本?