tornado 多进程模式解析
本文主要研究的是tornado多进程模式的相关内容,具体如下。
官方文档的helloworld实例中的启动方法:
if__name__=="__main__":
application.listen(8888)#listenisashortcutforbindandstart,这点看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模式,否则:
[E11052111:26:53httpserver:229]Cannotruninmultipleprocesses:IOLoopinstancehasalreadybeeninitialized.YoucannotcallIOLoop.instance()beforecallingstart()
原因是,autoreload.py已经在http_server.start()之前就初始化了IOLoop,这个在httpserver.py中的classHTTPServer()和defstart()的docstring中已经解释了。
总结
以上就是本文关于tornado多进程模式解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西