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编程嵌套函数实例代码
Feb 11 Python
Python实现读取机器硬件信息的方法示例
Jun 09 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
Nov 30 Python
flask应用部署到服务器的方法
Jul 12 Python
Django中create和save方法的不同
Aug 13 Python
python小白学习包管理器pip安装
Jun 09 Python
Python轻量级web框架bottle使用方法解析
Jun 13 Python
Python实现Canny及Hough算法代码实例解析
Aug 06 Python
Django如何实现密码错误报错提醒
Sep 04 Python
python单元测试框架pytest的使用示例
Oct 07 Python
pycharm 快速解决python代码冲突的问题
Jan 15 Python
Django中celery的使用项目实例
Jul 07 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开发框架myqee新手快速入门教程
2014/07/14 PHP
图解找出PHP配置文件php.ini的路径的方法
2014/08/20 PHP
PHP网站建设的流程与步骤分享
2015/09/25 PHP
深入剖析浏览器退出之后php还会继续执行么
2016/05/17 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
如何实现iframe(嵌入式帧)的自适应高度
2006/07/26 Javascript
javascript window对象属性整理
2009/10/24 Javascript
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
2013/09/22 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
angularjs实现与服务器交互分享
2014/06/24 Javascript
JQuery悬停控制图片轮播——代码简单
2015/08/05 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
AngularJS 面试题集锦
2016/09/06 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
2016/12/19 Javascript
基于jquery实现左右上下移动效果
2018/05/02 jQuery
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
2019/09/19 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
在Python编程过程中用单元测试法调试代码的介绍
2015/04/02 Python
教大家使用Python SqlAlchemy
2016/02/12 Python
简单掌握Python的Collections模块中counter结构的用法
2016/07/07 Python
python opencv实现旋转矩形框裁减功能
2018/07/25 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
2019/11/05 Python
Dr. Martens马汀博士官网:马丁靴始祖品牌
2016/10/15 全球购物
瑞士灯具购物网站:Lampenwelt.ch
2018/07/08 全球购物
马来西亚网上花店:FlowerAdvisor马来西亚
2020/01/03 全球购物
工程造价专业大学生自荐信
2013/10/01 职场文书
致跳高运动员广播稿
2014/01/13 职场文书
水利公司纪检监察自我鉴定
2014/02/25 职场文书
导游欢送词
2015/01/31 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
药店收银员岗位职责
2015/04/07 职场文书
北京大学中文系教授推荐的10本小说
2019/08/08 职场文书
Java数据结构之链表相关知识总结
2021/06/18 Java/Android