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抓取网页正文的源码
Jun 11 Python
仅用500行Python代码实现一个英文解析器的教程
Apr 02 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
Jan 29 Python
Python对象属性自动更新操作示例
Jun 15 Python
Python读取mat文件,并保存为pickle格式的方法
Oct 23 Python
python3 cvs将数据读取为字典的方法
Dec 22 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
Apr 27 Python
Python random库使用方法及异常处理方案
Mar 02 Python
opencv之颜色过滤只留下图片中的红色区域操作
Jun 05 Python
使用Python将语音转换为文本的方法
Aug 10 Python
在pycharm中文件取消用 pytest模式打开的操作
Sep 01 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
Jan 05 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数据库密码的找回的步骤
2011/01/12 PHP
新浪微博OAuth认证和储存的主要过程详解
2015/03/27 PHP
php递归函数三种实现方法及如何实现数字累加
2015/08/07 PHP
Zend Framework数据库操作技巧总结
2017/02/18 PHP
java解析json方法总结
2019/05/16 PHP
js跑马灯代码(自写)
2013/04/17 Javascript
js继承call()和apply()方法总结
2014/12/08 Javascript
IE11下使用canvas.toDataURL报SecurityError错误的解决方法
2017/11/19 Javascript
OkHttp踩坑随笔为何 response.body().string() 只能调用一次
2018/01/08 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
vue 输入电话号码自动按3-4-4分割功能的实现代码
2020/04/30 Javascript
vue项目在线上服务器访问失败原因分析
2020/08/14 Javascript
[44:22]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第一场 11.01
2020/11/02 DOTA
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
python用win32gui遍历窗口并设置窗口位置的方法
2019/07/26 Python
python创建学生管理系统
2019/11/22 Python
Python测试Kafka集群(pykafka)实例
2019/12/23 Python
基于spring boot 日志(logback)报错的解决方式
2020/02/20 Python
使用Django实现把两个模型类的数据聚合在一起
2020/03/28 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
python collections模块的使用
2020/10/16 Python
python 获取字典键值对的实现
2020/11/12 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
健身场所或家用健身设备:Life Fitness
2017/11/01 全球购物
澳大利亚女士时装在线:Rockmans
2018/09/26 全球购物
澳大利亚珍珠首饰购物网站:Vayo Pearls
2019/03/11 全球购物
公安机关党的群众路线教育实践活动剖析材料
2014/10/10 职场文书
中班教师个人总结
2015/02/05 职场文书
企业财务总监岗位职责
2015/04/03 职场文书
中学教师师德师风承诺书
2015/04/28 职场文书
消夏晚会主持词
2015/06/30 职场文书
实习感想范文
2015/08/10 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
SpringBoot快速入门详解
2021/07/21 Java/Android