我正在尝试在 Rails 4 中同时处理多个请求,我可以在 Rails 3 中非常轻松地做到这config.threadsafe!
一点Puma
。
说我有这个控制器
class ConcurrentController < ApplicationController
def index
sleep 10000
end
def show
end
end
我曾经能够用puma -t 2:16 -p 3000
(最少 2 个线程)启动 puma,然后点击index
,然后show
仍然可以show
正确渲染。
在 Rails 4 中,如果我尝试做同样的事情,Puma 现在会锁定index
请求并且show
永远不会被渲染。当我点击Ctrl-C
服务器时,Puma 给了我这个错误:
Rack app error: #<ThreadError: Attempt to unlock a mutex which is locked by another thread>
为了让并发与 Rails 4 一起工作,我在这里缺少什么?config.threadsafe!
应该不需要(即使我尝试也没有什么不同)