tornado 多进程模式解析


Posted in Python onJanuary 15, 2018

本文主要研究的是tornado 多进程模式的相关内容,具体如下。

官方文档的helloworld实例中的启动方法:

if __name__ == "__main__":

application.listen(8888) # listen is a shortcut for bind and start ,这点看httpserver.py可以得知

tornado.ioloop.IOLoop.instance().start()

并且在listen中,将tornado启动为单进程模型。

所以要启动为多进程模型的方法为:摒弃listen方法

http_server = tornado.httpserver.HTTPServer(application)

  http_server.bind(options.port, options.host)

  http_server.start(num_processes=0) # tornado将按照cpu核数来fork进程

  tornado.ioloop.IOLoop.instance().start()

需要注意的一点是,要关掉debug模式,否则:

[E 110521 11:26:53 httpserver:229] Cannot run in multiple processes: IOLoop instance has already been initialized. You cannot call IOLoop.instance() before calling start()

原因是,autoreload.py已经在http_server.start()之前就初始化了IOLoop,这个在httpserver.py中的class HTTPServer()和def start()的doc string中已经解释了。

总结

以上就是本文关于tornado 多进程模式解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python求解平方根的方法
Mar 11 Python
详解Python中的各种函数的使用
May 24 Python
实例讲解Python编程中@property装饰器的用法
Jun 20 Python
python读取txt文件并取其某一列数据的示例
Feb 19 Python
python3对接mysql数据库实例详解
Apr 30 Python
python 将字符串完成特定的向右移动方法
Jun 11 Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
Nov 19 Python
python图形开发GUI库wxpython使用方法详解
Feb 14 Python
完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误
Apr 01 Python
浅谈对python中if、elif、else的误解
Aug 20 Python
python rsa-oaep加密的示例代码
Sep 23 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
Jan 24 Python
200 行python 代码实现 2048 游戏
Jan 12 #Python
一篇文章快速了解Python的GIL
Jan 12 #Python
Python获取当前公网ip并自动断开宽带连接实例代码
Jan 12 #Python
python SSH模块登录,远程机执行shell命令实例解析
Jan 12 #Python
python opencv实现任意角度的透视变换实例代码
Jan 12 #Python
Python数字图像处理之霍夫线变换实现详解
Jan 12 #Python
Python实现霍夫圆和椭圆变换代码详解
Jan 12 #Python
You might like
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
2016/01/11 PHP
php编程每天必学之验证码
2016/03/03 PHP
Yii rules常用规则示例
2016/03/15 PHP
Javascript 面向对象特性
2009/12/28 Javascript
Jquery知识点二 jquery下对数组的操作
2011/01/15 Javascript
js计算两个时间之间天数差的实例代码
2013/11/19 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
JS实现可调整倒计时间代码分享
2015/08/18 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
js实现统计字符串中特定字符出现个数的方法
2016/08/02 Javascript
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
Angular.js实现获取验证码倒计时60秒按钮的简单方法
2017/10/18 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
2017/12/10 Javascript
JS中的事件委托实例浅析
2018/03/22 Javascript
微信小程序实现星级评分和展示
2018/07/05 Javascript
推荐15个最好用的JavaScript代码压缩工具
2019/02/13 Javascript
Node.js系列之发起get/post请求(2)
2019/08/30 Javascript
微信小程序一周时间表功能实现
2019/10/17 Javascript
JavaScript中变量提升和函数提升的详解
2020/08/07 Javascript
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
Numpy array数据的增、删、改、查实例
2018/06/04 Python
django缓存配置的几种方法详解
2018/07/16 Python
django框架cookie和session用法实例详解
2019/12/10 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
2020/05/09 Python
Lulu & Georgia官方网站:购买地毯、家具、抱枕、壁纸、床上用品等
2018/03/19 全球购物
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
廉洁校园实施方案
2014/05/25 职场文书
养成教育经验材料
2014/05/26 职场文书
科级干部群众路线教育实践活动对照检查材料思想汇报
2014/09/20 职场文书
求职自我评价范文
2015/03/09 职场文书
消费者投诉书范文
2015/07/02 职场文书
MySQL数据库安装方法与图形化管理工具介绍
2022/05/30 MySQL