Я пытаюсь выполнить несколько запросов одновременно в Rails 4, что я смог сделать очень легко с config.threadsafe!
и Puma
в Rails 3.
Скажем, у меня этот контроллер
class ConcurrentController < ApplicationController
def index
sleep 10000
end
def show
end
end
Раньше я только начинал puma с puma -t 2:16 -p 3000
(для мин. 2 потока) и нажимал 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>
Что мне не хватает, чтобы получить concurrency для работы с Rails 4? config.threadsafe!
не требуется (и не имеет значения, даже если я пытаюсь)