【发布时间】:2015-09-16 09:42:48
【问题描述】:
我有一个有状态概念的 Tornado 应用程序,它使用户(小用户群)能够使用可能很大的内存对象执行一些 CPU 绑定任务。这会给单线程配置带来问题,因为一个用户可能会影响另一个用户的体验。
我可以使用多处理将任务传送到另一个进程,但这需要重复复制这些大数据并且不理想。
我发现 Tornado 可以配置为多进程。我认为这会暂时解决我的问题;不同的用户得到不同的进程。然而,我发现在与 Web 应用程序交互时,对对象的引用会丢失。我认为这是因为 Tornado 每次 API 调用都会将我发送到一个可能不同的进程,并且我之前与之交互的对象在当前进程中不存在。
因此我的问题是:我可以将 Tornado 配置为客户端/用户重复使用同一进程吗?
【问题讨论】: