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基础教程之基本数据类型和变量声明介绍
Aug 29 Python
python爬虫入门教程之糗百图片爬虫代码分享
Sep 02 Python
Python常用随机数与随机字符串方法实例
Apr 09 Python
发布你的Python模块详解
Sep 15 Python
老生常谈Python基础之字符编码
Jun 14 Python
Python基础之getpass模块详细介绍
Aug 10 Python
启动targetcli时遇到错误解决办法
Oct 26 Python
Python logging管理不同级别log打印和存储实例
Jan 19 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
Jan 28 Python
Python bytes string相互转换过程解析
Mar 05 Python
Python中SQLite如何使用
May 27 Python
python自动化八大定位元素讲解
Jul 09 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操作Memcache实例介绍
2013/06/14 PHP
PHP中的流(streams)浅析
2015/07/02 PHP
PHP图片添加水印功能示例小结
2016/10/03 PHP
JavaScript高级程序设计 事件学习笔记
2011/09/10 Javascript
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
2011/11/30 Javascript
javascript日期格式化示例分享
2014/03/05 Javascript
javascript实现图片跟随鼠标移动效果的方法
2015/05/13 Javascript
VueJS全面解析
2016/11/10 Javascript
javascript防篡改对象实例详解
2017/04/10 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
jQuery操作元素追加内容示例
2020/01/10 jQuery
[58:58]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第二场
2018/04/05 DOTA
python爬虫实战之最简单的网页爬虫教程
2017/08/13 Python
django 开发忘记密码通过邮箱找回功能示例
2018/04/17 Python
解决PyCharm import torch包失败的问题
2018/10/13 Python
django 控制页面跳转的例子
2019/08/06 Python
python 并发编程 多路复用IO模型详解
2019/08/20 Python
python中从for循环延申到推导式的具体使用
2019/11/29 Python
StubHub新加坡:购买和出售全球活动门票
2017/03/10 全球购物
运动会入场词100字
2014/02/06 职场文书
计算机数据库专业职业生涯规划书
2014/02/08 职场文书
阳光体育活动方案
2014/02/16 职场文书
八一建军节感言
2014/02/28 职场文书
酒店管理求职信范文
2014/04/06 职场文书
微笑服务演讲稿
2014/05/13 职场文书
社会公德演讲稿
2014/05/20 职场文书
机械系毕业生求职信
2014/05/28 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
自主招生英文自荐信
2015/03/25 职场文书
男方家长婚礼致辞
2015/07/27 职场文书
2016七一建党节慰问信
2015/11/30 职场文书
2016元旦晚会主持人开场白和结束语
2015/12/03 职场文书
(开源)微信小程序+mqtt,esp8266温湿度读取
2021/04/02 Javascript
Django 实现jwt认证的示例
2021/04/30 Python