tornado 多进程模式解析
作者:mingz2013 时间:2021-01-20 10:56:44
本文主要研究的是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中已经解释了。
来源:http://blog.csdn.net/mingzznet/article/details/52929743
标签:python,tornado,多进程
0
投稿
猜你喜欢
使用Pytorch+PyG实现MLP的详细过程
2023-05-03 17:48:14
Vue中的常用指令及用法总结
2024-06-07 16:05:31
MySQL创建定时任务
2024-01-20 15:59:34
SQLServer2014故障转移群集的部署的图文教程
2024-01-28 23:30:06
基于Express框架使用POST传递Form数据
2024-06-05 09:52:26
Python 可迭代对象 iterable的具体使用
2021-08-28 08:24:32
Python源码学习之PyObject和PyTypeObject
2023-08-11 10:28:45
利用Python进行异常值分析实例代码
2022-06-30 16:14:59
Vue3兄弟组件传值之mitt的超详细讲解
2023-07-02 16:56:04
Python导入数值型Excel数据并生成矩阵操作
2023-05-15 16:59:24
python绘制立方体的方法
2022-09-26 10:34:14
PyQT5速成教程之Qt Designer介绍与入门
2023-05-18 22:23:36
python跨文件使用全局变量的实现
2022-03-31 17:24:36
python基于socket函数实现端口扫描
2022-02-06 09:22:37
python利用opencv如何实现答题卡自动判卷
2021-05-07 12:13:41
超强多功能php绿色集成环境详解
2023-07-15 01:07:22
Python中MySQLdb和torndb模块对MySQL的断连问题处理
2024-01-29 02:05:25
交互设计杂七杂八
2010-09-25 18:41:00
教你使用Python pypinyin库实现汉字转拼音
2021-10-03 16:48:36
MySQL内部临时表的具体使用
2024-01-20 13:09:54