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
  • asp之家 网络编程 m.aspxhome.com