tornado 多进程模式
https://www.douban.com/note/217901726/
官方文档的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中已经解释了。
最新文章
- python基础之正则表达式
- Ubuntu安装R及RStudio
- 黑客帝国风格必备插件ProPowerTools
- spark中操作hdfs
- 自学asp.net mvc(一)
- C#中的预处理器指令详解
- IOS UIButton使用详解
- Ubuntu + hadoop2.6.0下安装Hive
- 【Xamarin 挖墙脚系列:Xamarin SDK开源了................】
- arduino pro mini不能下载
- UIAlertController 自定义输入框及KVO监听
- css(二) block,inline和inline-block概念和区别
- PHP header( ) 禁止页面后退
- Git之(三)辅助命令
- 学习pwn的前提工作及部分解决方案
- (三)微信小程序首页的分类功能和搜索功能的实现笔记
- git 安装及常见问题处理
- 从输入 URL 到页面加载完成的过程详解---【XUEBIG】
- java String 类型总结
- How to convert a PDF file to JPEGs using PHP
热门文章
- Python 实现腾讯新闻抓取
- python初步入门
- fetch初步了解
- 使用kubeadm搭建kubernetes1.10集群 Posted on April 14, 2018
- centos7 crontab管理
- 关于使用jqmobi前端框架在phonegap平台上开发时的日期时间选择控件
- poj 1298(水题)
- Minimum Height Trees -- LeetCode
- 【左偏树+延迟标记+拓扑排序】BZOJ4003-城池攻占
- 8VC Venture Cup 2016 - Final Round (Div. 2 Edition) C. XOR Equation 数学