2015-10-13 170 views
1

我有一个4核心系统,并希望测试多进程龙卷风功能。我开始了我的计划,这表明4个启动进程:龙卷风多进程HTTPServer()

[I 151013 19:19:44 process:124] Starting 4 processes 

我的代码是非常相似,有什么文档中列出:

server = HTTPServer(app) 
server.bind(8000) 
server.start(0) # Forks multiple sub-processes 
IOLoop.current().start() 

在我的主要处理我故意叫暂停。睡觉(10)来阻止这个过程。我的印象是,如果我将另一个客户端连接到Web服务器并阻止该客户端,它仍然会被服务,因为有4个进程在端口上侦听。直到我达到> 4个进程(假设它们全部仍然阻塞),客户端必须等待连接。

但是当我测试这个时,第二个客户端必须等待第一个客户端解锁。所以我不确定我是否理解在同一个端口上侦听多进程的目的。我错过了什么吗?为HTTPServer分配多个进程的目的/优势是什么?

回答

1

听起来就像您遇到了令人惊讶的浏览器行为,在第一次尝试Tornado时跳过许多用户,请阅读常见的"My code is asynchronous, but it’s not running in parallel in two browser tabs"

浏览器将认识到您正尝试在两个不同的选项卡中加载相同的页面,并延迟第二个请求,直到第一个请求完成。

+0

啊是的,我错过了那部分文档。它适用于我使用不同的浏览器。干杯杰西 –