龙卷风协程的同步原语。
toro的Python项目详细描述
Info: | Synchronization primitives for Tornado coroutines. |
---|---|
Author: | A. Jesse Jiryu Davis |
文档:http://toro.readthedocs.org/
重要
Toro已完成并弃用;其功能已合并 变成龙卷风。龙卷风联程船闸和队列的发展仍在继续 在龙卷风中。
关于
一组与python中类似的锁定和同步原语 threading module或gevent的coros,用于龙卷风的gen.engine。
依赖关系
Tornado>;=版本3.0。
示例
下面是一个基本示例(有关更多信息,请参见文档的example s部分):
fromtornadoimportioloop,genimporttoroq=toro.JoinableQueue(maxsize=3)@gen.coroutinedefconsumer():whileTrue:item=yieldq.get()try:print'Doing work on',itemfinally:q.task_done()@gen.coroutinedefproducer():foriteminrange(10):yieldq.put(item)producer()consumer()loop=ioloop.IOLoop.instance()# block until all tasks are doneq.join().add_done_callback(loop.stop)loop.start()
测试
在根目录中运行python setup.py test。
Toro拥有100%的代码覆盖率,包括分支覆盖率!