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中的CURL PycURL使用例子
Jun 01 Python
Python进程通信之匿名管道实例讲解
Apr 11 Python
python通过openpyxl生成Excel文件的方法
May 12 Python
python操作mongodb根据_id查询数据的实现方法
May 20 Python
在Django的session中使用User对象的方法
Jul 23 Python
python学习笔记之调用eval函数出现invalid syntax错误问题
Oct 18 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
Sep 19 Python
Python Django框架实现应用添加logging日志操作示例
May 17 Python
python五子棋游戏的设计与实现
Jun 18 Python
简单分析python的类变量、实例变量
Aug 23 Python
Python 2种方法求某个范围内的所有素数(质数)
Jan 31 Python
pytorch实现seq2seq时对loss进行mask的方式
Feb 18 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
第一个无线电台是由谁发明的
2021/03/01 无线电
用PHP和ACCESS写聊天室(二)
2006/10/09 PHP
smarty半小时快速上手入门教程
2014/10/27 PHP
php使用google地图应用实例
2014/12/31 PHP
php需登录的文件上传管理系统
2020/03/21 PHP
php实现websocket实时消息推送
2018/03/30 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
js 居中漂浮广告
2010/03/21 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
2013/07/17 Javascript
jQuery Validate初步体验(二)
2015/12/12 Javascript
关于JS变量和作用域详解
2016/07/28 Javascript
浅谈Node.js 子进程与应用场景
2018/01/24 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
微信小程序 搜索框组件代码实例
2019/09/06 Javascript
Vue实现剪切板图片压缩功能
2020/02/04 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
2020/07/24 Javascript
解决vue-router 嵌套路由没反应的问题
2020/09/22 Javascript
Python Django使用forms来实现评论功能
2016/08/17 Python
python中urlparse模块介绍与使用示例
2017/11/19 Python
对Python 数组的切片操作详解
2018/07/02 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
windows下python安装pip方法详解
2020/02/10 Python
Python中免验证跳转到内容页的实例代码
2020/10/23 Python
复古服装:RetroStage
2019/05/10 全球购物
NYX Professional Makeup官方网站:专业彩妆和美容产品
2019/10/29 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
计算机专业职业规划
2014/02/28 职场文书
求职信标题怎么写
2014/05/26 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
文化大革命观后感
2015/06/17 职场文书
2016情人节宣传语
2015/07/14 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
高中物理教学反思
2016/02/19 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书
多属性、多分类MySQL模式设计
2021/04/05 MySQL