pip install tornadoist2
tornadoist -currently- provides Mixins to execute code outside tornado.ioloop.IOLoop to avoid blocking. These are:
CeleryMixin: Celery Tasks
ProcessMixin: Functions in separate process
Both support results, avoids polling or timeouts. More info below.
Demo app included. (Celery with mongodb:// preconfigured in demo app)
CeleryMixin
CeleryMixin is a Mixin class to use with tornado.web.RequestHandler that provides a Tornado-like interface to running Celery tasks on TornadoServer.
HowTO
Using tornado.gen
from tornado import web, gen
from tornadoist2 import CeleryMixin
class CeleryHandler(tornado.web.RequestHandler, CeleryMixin):
@web.asynchronous
@gen.engine
def get(self):
result = yield gen.Task(self.add_task, some_task, 'somearg')
self.write('Hello %s World!' % result)
self.finish()
Or using explicit callback
class CeleryHandler(tornado.web.RequestHandler, CeleryMixin):
@tornado.web.asynchronous
def get(self):
self.add_task(some_task, callback=self._on_result)
def _on_result(self, result):
do_something_with_result(result)
self.finish()
ProcessMixin
ProcessMixin is a Mixin class to use with tornado.web.RequestHandler that provides a Tornado-like interface to running functions with multiprocessing.Process outside IOLoop.
HowTO
Using tornado.gen
from tornado import web, gen
from tornadoist import ProcessMixin
class ProcessHandler(tornado.web.RequestHandler, ProcessMixin):
@tornado.web.asynchronous
@tornado.gen.engine
def get(self):
result = yield tornado.gen.Task(self.add_task, my_blocking_function,
'somearg', some_kwarg=42)
self.write('Hello Process World! %s' % result)
self.finish()
License
Release files for tornadoist2 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tornadoist2-0.2.1.tar.gz | 4.3 kB | Details |
Release files / tornadoist2-0.2.1.tar.gz
| Download URL | tornadoist2-0.2.1.tar.gz |
|---|---|
| Size | 4.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
921baeee39774233385b112ae8f038963c630291afcf37bca6c58fc0e3d2943e
|
|
BLAKE2b-256 checksum How to use checksums |
cd5fa521d3f2d9a4369efe5058dbb34c4c68bed82df473dc55e62155aaf9bc25
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |