tornado 服务开启多线程

Posted S大幕

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tornado 服务开启多线程相关的知识,希望对你有一定的参考价值。

tornado 开启服务后,只进行单进程有时会比较慢,这是可以考虑同时开多个进程,tornado 是支持这样的操作的。利用 tornado 的 tornado.httpserver.HTTPServer 模块进行。
这部分具体试下可以这样写:

application = tornado.web.Application([
    (r'/esupdate', MainHandler),
     #(r'/esupdate/',UpdateHander)
     ],
    debug=False)

total_count = 0

print('Load.')
def main():

    http_server = tornado.httpserver.HTTPServer(application)
    http_server.bind(7272)
    http_server.start(num_processes=12)
    print("start okk")
    tornado.ioloop.IOLoop.instance().start()



    #application.listen(7272)
    #tornado.ioloop.IOLoop.instance().start()

if __name__ == '__main__':
    main()

上面代码中可以看到,同时开启了 12(num_processes=12)个进程,且共用一个端口号 7272
需要注意的是,开启多进程后,一定要将 debug 设置为 False

以上是关于tornado 服务开启多线程的主要内容,如果未能解决你的问题,请参考以下文章

Django如何监听启动,开启另外后台线程

Tornado学习

知乎为啥使用Tornado?使用Python中的多线程特性了吗

Python web框架 Tornado异步非阻塞

Tornado

玩转PythonWeb框架之Tornado