Skip to main content

Synchronization primitives for Tornado coroutines.

Project description

https://raw.github.com/ajdavis/toro/master/doc/_static/toro.png
Info:Synchronization primitives for Tornado coroutines.
Author:A. Jesse Jiryu Davis

Documentation: http://toro.readthedocs.org/

Important

Toro is completed and deprecated; its features have been merged into Tornado. Development of locks and queues for Tornado coroutines continues in Tornado itself.

https://travis-ci.org/ajdavis/toro.png

About

A set of locking and synchronizing primitives analogous to those in Python’s threading module or Gevent’s coros, for use with Tornado’s gen.engine.

Dependencies

Tornado >= version 3.0.

Examples

Here’s a basic example (for more see the examples section of the docs):

from tornado import ioloop, gen
import toro

q = toro.JoinableQueue(maxsize=3)

@gen.coroutine
def consumer():
    while True:
        item = yield q.get()
        try:
            print 'Doing work on', item
        finally:
            q.task_done()

@gen.coroutine
def producer():
    for item in range(10):
        yield q.put(item)

producer()
consumer()
loop = ioloop.IOLoop.instance()
# block until all tasks are done
q.join().add_done_callback(loop.stop)
loop.start()

Documentation

You will need Sphinx and GraphViz installed to generate the documentation. Documentation can be generated like:

$ sphinx-build doc build

Testing

Run python setup.py test in the root directory.

Toro boasts 100% code coverage, including branch-coverage!

Project details


Release history Release notifications

This version
History Node

1.0.1

History Node

1.0

History Node

0.8

History Node

0.7

History Node

0.6

History Node

0.5

History Node

0.4

History Node

0.3

History Node

0.2

History Node

0.1.1

History Node

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
toro-1.0.1.tar.gz (57.3 kB) Copy SHA256 hash SHA256 Source None Jan 27, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page