我正在sockjs-tornado上构建一个服务器,我想知道如何利用tornado的异步HTTP客户端--或其他用于tornado的异步工具,如asyncmongo、tornado-redis等。显然,在随机方法上使用tornado.web.asynchronous & tornado.gen.engine装饰器是不可能的。所以,如果我需要在SockJSConnection的on_message()中进行异步Mongo/HTTP/Redis调用,我该怎么做呢?
发布于 2012-09-13 01:53:19
您所要做的就是创建一个由tornado.gen装饰器装饰的方法(或函数
创建了一个小要点来说明如何做到这一点:https://gist.github.com/3708549
如果您将运行示例并检查服务器控制台,您将看到以下输出:
1-提出请求
2-从on_message返回
..。稍有延迟。
3-向客户端发送数据
因此,它不会阻塞ioloop,而是在后台进行HTTP调用。
https://stackoverflow.com/questions/12378242
复制相似问题