前言:

     话说Tornado  是由Facebook开源的一个服务器“套装”,适合于做python的web或者使用其本身提供的可扩展的功能,完成了不完整的wsgi协议,可用于做快速的web开发,封装了epoll性能较好。文章主要以分析tornado的网络部分即异步事件处理与上层的IOstream类提供的异步IO,其他的模块如web的tornado.web 以后慢慢留作分析。

tornado网络部分最核心的两个模块就是ioloop.py与iostream.py,我们主要分析的就是这两个部分。

ioloop.py 主要的是将底层的epoll或者说是其他的IO多路复用封装作异步事件来处理

iostream.py主要是对于下层的异步事件的进一步封装,为其封装了更上一层的buffer(IO)事件.

扯了半天,没有说正题…  

前段时间一直在看tornado的代码,看起来有些晕,但是收获还是不小.   废话不多说。 最近有个应用场景是需要tornado subprocess组合的,具体的业务就不描述了,我所要的事情就是使用subprocess调用一个java的脚本..   又是java… 

有朋友说我抄袭subprocess代码,  我只是忘了贴源地址? 好家伙居然成抄袭了…. 

https://github.com/vukasin/tornado-subprocess/blob/master/tornado_subprocess/__init__.py


Tornado subprocess组合,在web api系统调用本身是尴尬的事情,尽量需要避免这样的应用。 



对Python及运维开发感兴趣的朋友可以加QQ群 : 478476595 !!!
{ 2000人qq大群内有各厂大牛,常组织线上分享及沙龙,对高性能及分布式场景感兴趣同学欢迎加入该QQ群 }

另外如果大家觉得文章对你有些作用!   帮忙点击广告. 一来能刺激我写博客的欲望,二来好维护云主机的费用.
如果想赏钱,可以用微信扫描下面的二维码. 另外再次标注博客原地址  xiaorui.cc  ……   感谢!

源码分析tornado gen.sleep非阻塞

前言:       前两天去菲律宾长滩岛度假去了,有段时间没有更新技术文章了。简单说说度假期间发生的事情吧,可能因为心情和身体不理想,...

阅读全文