tornado的多进程模式如何实现共享同一个ioloop?
启动方式大概如下
app = tornado.web.Application(router.url_map, **settings)
server = tornado.httpserver.HTTPServer(app)
server.bind(options.port)
server.start(10)
tornado.ioloop.IOLoop.instance().start()
这里启动了10个子进程去并行,每个进程的资源是隔离的, 实际测试中发现不同进程打印出来的ioloop实例地址一样的
在代码中也没看见有进程中的共享内存等操作, 所以想问是怎么实现共享同一个ioloop的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
应该是你测试有问题。把代码粘出来。或者,你先自己确认一下,是不是真的“不同进程”。
请问这个问题找到原因了吗?我也碰到了,但是在源码里没找出来原因。
环境 tornado-5.0.2 python-3.6.5 系统:Linux-3.10.0-693.el7.x86_64
测试代码:
执行结果