как удалить промежуточное ПО? - PullRequest
4 голосов
/ 22 октября 2011

время ожидания в стойке включено в Gemfile, но мы хотим использовать его только в качестве промежуточного программного обеспечения на производстве. Таким образом, в инициализаторе мы имеем:

config.middleware.delete Rack::Timeout

Проверка до и после этой строки показывает время ожидания стойки, удаленной из массива. Несмотря на это, запросы по-прежнему истекают по времени, и быстрые «путы» в драгоценном камне показывают, что это действительно преступник.

Это потому, что стек промежуточного программного обеспечения уже был создан до вызова delete? Или стек читается в каждом запросе? Если это так, в чем может быть проблема?

1 Ответ

8 голосов
/ 26 февраля 2012

Почему бы просто не иметь что-то вроде следующего?

group :production do
  gem "rack-timeout"
end

Теоретически, удаление промежуточного программного обеспечения в инициализаторе должно решить проблему после перезапуска сервера, предполагая, что вы говорите о добавлении чего-либо в config/initializers/.


Сделал немного больше экспериментов и опустил это в config/initializers/rack-timeout.rb:

* * 1010

И это в контроллере лесов:

sleep 1

Все выглядело круто после перезапуска сервера dev (тайм-аутов не видно: D). Так что, возможно, просто плохая переменная.

Я все еще думаю, что использование группы только для производства - лучшее решение.

Работал с Rails 3.2.2 с ruby ​​1.9.2-p290 в OSX.

...