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 19 Python
Django Admin 实现外键过滤的方法
Sep 29 Python
Python内置函数delattr的具体用法
Nov 23 Python
Python图像处理之简单画板实现方法示例
Aug 30 Python
Python多线程编程之多线程加锁操作示例
Sep 06 Python
浅谈python中拼接路径os.path.join斜杠的问题
Oct 23 Python
Python os.rename() 重命名目录和文件的示例
Oct 25 Python
Python数据预处理之数据规范化(归一化)示例
Jan 08 Python
python os.path.isfile()因参数问题判断错误的解决
Nov 29 Python
python GUI库图形界面开发之PyQt5多线程中信号与槽的详细使用方法与实例
Mar 08 Python
TensorFlow固化模型的实现操作
May 26 Python
分享3个非常实用的 Python 模块
Mar 03 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远程连接MYSQL数据库非常慢的解决方法
2008/07/05 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
2013/08/07 PHP
php实现贪吃蛇小游戏
2016/07/26 PHP
Thinkphp实现短信验证注册功能
2016/10/18 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
解决FireFox下[使用event很麻烦]的问题
2006/11/26 Javascript
jscript之Read an Excel Spreadsheet
2007/06/13 Javascript
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
表单元素事件 (Form Element Events)
2009/07/17 Javascript
jQuery Lightbox 图片展示插件使用说明
2010/04/25 Javascript
jquery移动listbox的值原理及代码
2013/05/03 Javascript
javascript中定义私有方法说明(private method)
2014/01/27 Javascript
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
跟我学习javascript的函数调用和构造函数调用
2015/11/16 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
2016/10/10 Javascript
jquery获取select,option所有的value和text的实例
2017/03/06 Javascript
JavaScript实现获取两个排序数组的中位数算法示例
2019/02/26 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
2019/12/16 Javascript
微信小程序button标签open-type属性原理解析
2020/01/21 Javascript
js实现全选和全不选功能
2020/07/28 Javascript
Django视图和URL配置详解
2018/01/31 Python
Python 使用with上下文实现计时功能
2018/03/09 Python
Pandas 同元素多列去重的实例
2018/07/03 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
python多进程重复加载的解决方式
2019/12/13 Python
python使用Thread的setDaemon启动后台线程教程
2020/04/25 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
如何使用scrapy中的ItemLoader提取数据
2020/09/30 Python
竞聘副主任科员演讲稿
2014/01/11 职场文书
电气工程自动化求职信
2014/03/14 职场文书
小学班主任自我评价
2015/03/11 职场文书
患者身份识别制度
2015/08/06 职场文书
el-form每行显示两列底部按钮居中效果的实现
2022/08/05 HTML / CSS
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
2022/12/24 HTML / CSS