Tornado IOLoop Backed Concurrent Futures
|build-status| |coverage| |pypi|
Run Tornado Coroutines from Synchronous Python.
.. code:: python
from threadloop import ThreadLoop
from tornado import gen
@gen.coroutine
def coroutine(greeting="Goodbye"):
yield gen.sleep(1)
raise gen.Return("%s World" % greeting)
with ThreadLoop() as threadloop:
future = threadloop.submit(coroutine, "Hello")
print future.result() # Hello World
.. |build-status| image:: https://travis-ci.org/breerly/threadloop.svg?branch=master :target: https://travis-ci.org/breerly/threadloop
.. |coverage| image:: https://coveralls.io/repos/breerly/threadloop/badge.svg?branch=master&service=github :target: https://coveralls.io/github/breerly/threadloop?branch=master
.. |pypi| image:: https://badge.fury.io/py/threadloop.svg :target: http://badge.fury.io/py/threadloop