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除法运算小技巧
Apr 05 Python
python 字典(dict)按键和值排序
Jun 28 Python
全面分析Python的优点和缺点
Feb 07 Python
python实现在IDLE中输入多行的方法
Apr 19 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
Apr 30 Python
flask框架中勾子函数的使用详解
Aug 01 Python
深入理解Django-Signals信号量
Feb 19 Python
Python Flask框架模板操作实例分析
May 03 Python
详解PyCharm+QTDesigner+PyUIC使用教程
Jun 13 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
Oct 30 Python
利用keras加载训练好的.H5文件,并实现预测图片
Jan 24 Python
Selenium alert 弹窗处理的示例代码
Aug 06 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中return 和 exit 、break和contiue 区别与用法
2012/04/09 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
2014/06/25 PHP
Yii使用CLinkPager分页实例详解
2014/07/23 PHP
基于PHP实现用户注册登录功能
2016/10/14 PHP
php往mysql中批量插入数据实例教程
2018/12/12 PHP
解决laravel(5.5)访问public报错的问题
2019/10/12 PHP
基于PHP实现用户在线状态检测
2020/11/10 PHP
在JavaScript中使用NaN值的方法
2015/06/05 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
2017/08/14 Javascript
JS传播事件、取消事件默认行为、阻止事件传播详解
2017/08/14 Javascript
BootStrap 页签切换失效的解决方法
2017/08/17 Javascript
vue中子组件调用兄弟组件方法
2018/07/06 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
vue升级之路之vue-router的使用教程
2018/08/14 Javascript
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
vue-dplayer 视频播放器实例代码
2019/11/08 Javascript
[42:36]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第二局
2016/02/26 DOTA
[01:33]真香警告!DOTA2勇士令状不朽珍藏Ⅱ饰品欣赏
2018/06/26 DOTA
跟老齐学Python之数据类型总结
2014/09/24 Python
Python global全局变量函数详解
2018/09/18 Python
python实现扫描ip地址的小程序
2019/04/16 Python
Python应用领域和就业形势分析总结
2019/05/14 Python
Python使用微信接入图灵机器人过程解析
2019/11/04 Python
python实现图片,视频人脸识别(dlib版)
2020/11/18 Python
AmazeUI中模态框的实现
2020/08/19 HTML / CSS
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
英国折扣零售连锁店:QD Stores
2018/12/08 全球购物
ColourPop美国官网:卡拉泡泡,洛杉矶彩妆品牌
2019/04/28 全球购物
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
Clos19英国:高档香槟、葡萄酒和烈酒在线购物平台
2020/07/10 全球购物
《母亲的恩情》教学反思
2014/02/13 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
python通配符之glob模块的使用详解
2021/04/24 Python
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL
Vue3中toRef与toRefs的区别
2022/03/24 Vue.js