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编写生成验证码的脚本的教程
May 04 Python
Python2.x版本中cmp()方法的使用教程
May 14 Python
Python中shutil模块的学习笔记教程
Apr 04 Python
Python实现读取及写入csv文件的方法示例
Jan 12 Python
python的re正则表达式实例代码
Jan 24 Python
python获取文件真实链接的方法,针对于302返回码
May 14 Python
selenium+python实现1688网站验证码图片的截取功能
Aug 14 Python
Python 离线工作环境搭建的方法步骤
Jul 29 Python
tensorflow使用指定gpu的方法
Feb 04 Python
python3 自动打印出最新版本执行的mysql2redis实例
Apr 09 Python
使用Python提取文本中含有特定字符串的方法示例
Dec 09 Python
使用numpy nonzero 找出非0元素
May 14 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
《超神学院》霸气归来, 天使彦上演维多利亚的秘密
2020/03/02 国漫
解析php安全性问题中的:Null 字符问题
2013/06/21 PHP
PHP Reflection API详解
2015/05/12 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
yii2 上传图片的示例代码
2018/11/02 PHP
javascript优先加载笔记代码
2008/09/30 Javascript
javascript获取文档坐标和视口坐标
2015/05/26 Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
2015/06/04 Javascript
跟我学习javascript的prototype原型和原型链
2015/11/18 Javascript
jQuery进行组件开发完整实例
2015/12/15 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
使用jQuery5分钟快速搞定双色表格的简单实例
2016/08/08 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
2016/08/19 Javascript
js获取当前时间(昨天、今天、明天)
2016/11/23 Javascript
js实现登录验证码
2016/12/22 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
Vue 配合eiement动态路由,权限验证的方法
2018/09/26 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
2018/09/27 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
2020/09/09 Javascript
JavaScript十大取整方法实例教程
2020/12/03 Javascript
JavaScript实现4位随机验证码的生成
2021/01/28 Javascript
Python线程指南详细介绍
2017/01/05 Python
浅谈DataFrame和SparkSql取值误区
2018/06/09 Python
python中使用print输出中文的方法
2018/07/16 Python
Django 路由控制的实现代码
2018/11/08 Python
python面试题小结附答案实例代码
2019/04/11 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
2020/06/05 Python
Python Django搭建网站流程图解
2020/06/13 Python
html+css3实现的登录界面
2020/12/09 HTML / CSS
Elemental Herbology官网:英国美容品牌
2019/04/27 全球购物
空字符串(“”)和null的区别
2012/11/13 面试题
如何用SQL语句进行模糊查找
2015/09/25 面试题
解释一下ruby中的特殊方法与特殊类
2013/02/26 面试题
个人整改方案范文
2014/10/25 职场文书
使用@Value值注入及配置文件组件扫描
2021/07/09 Java/Android
MySQL深分页问题解决思路
2022/12/24 MySQL