tornado混入
项目描述
tornadoist -目前- 提供混入以在 tornado.ioloop.IOLoop 外部执行代码以避免阻塞。这些是
CeleryMixin: Celery任务
ProcessMixin: 在单独的进程中函数
两者都支持结果,避免了轮询或超时。更多信息见下文。
包含演示应用程序。(在演示应用程序中预配置了mongodb://)
CeleryMixin
CeleryMixin 是一个与 tornado.web.RequestHandler 一起使用的混入类,它为在 TornadoServer 上运行 Celery 任务提供了类似 Tornado 的接口。
如何使用
使用 tornado.gen
from tornado import web, gen from tornadoist 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()
或使用显式回调
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 是一个与 tornado.web.RequestHandler 一起使用的混入类,它为在 IOLoop 外部使用 multiprocessing.Process 运行函数提供了类似 Tornado 的接口。
如何使用
使用 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()
许可证
项目详情
关闭
tornadoist-0.5.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 11278d414ef3372b550e08653ee48f704ff41fefab04bcf80d28ba8d7ba17156 |
|
MD5 | b6633e2945ba49c41274d25fd6d09a33 |
|
BLAKE2b-256 | 132fbcebc27e737e46b94442750fc51a0eb1fbc7b20211c961e9ea34e3361e4f |