Тайм-ауты в Rails / Nginx - Лучшие практики - PullRequest
2 голосов
/ 02 апреля 2012

Я работаю над приложением Rails, которое должно работать на сервере Nginx.В зависимости от входных данных приложение может очень долго обрабатывать запросы (или зависать в случае ошибок), поэтому я хочу, чтобы процессы не выполнялись вечно.Помимо конфигурации Nginx, которая гарантирует, что клиент получает сигнал тайм-аута, я думаю, что мне все еще нужно убедиться, что мое приложение перестает работать над этими запросами.Где это должно быть обработано?В моем приложении Rails (используя Timeout / Thread из std-lib) или внешне (уничтожение процессов)?

1 Ответ

1 голос
/ 02 апреля 2012

Я обычно делаю это на слое стойки, используя Rack :: Timeout .

# config/initializers/timeout.rb
Rack::Timeout.timeout = 10  # seconds
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...