Я пытаюсь выполнить несколько запросов одновременно в 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! не требуется (и не имеет значения, даже если я пытаюсь)