Py学习  »  tornado

Tornado:在使用多进程时支持多个应用程序?(注:多个应用)

DachuanZhao • 5 年前 • 1205 次点击  

这是我的密码。

application1 = web.Application([
    (r"/", MainPageHandler),
])
http_server = httpserver.HTTPServer(application1)
http_server.listen(8080)

application2 = web.Application([
    (r"/appli2", MainPageHandler2),
])
http_server2 = httpserver.HTTPServer(application2)
http_server2.listen(8081)

ioloop.IOLoop.instance().start()

我想使用像 https://www.tornadoweb.org/en/stable/httpserver.html . 我应该修改什么代码?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30824
 
1205 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Ben Darnell
Reply   •   1 楼
Ben Darnell    5 年前

支持多个 Applications 对于多进程模式,必须将“高级”模式与 add_sockets 方法:

sockets1 = tornado.netutil.bind_sockets(8080)
sockets2 = tornado.netutil.bind_sockets(8081)
tornado.process.fork_processes(0)
server1 = HTTPServer(app1)
server2 = HTTPServer(app2)
server1.add_sockets(sockets1)
server2.add_sockets(sockets2)
IOLoop.current().start()

在调用 fork_processes ,然后创建服务器并向其添加套接字。