2012-04-02 2 views
2

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

ответ

1

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

# config/initializers/timeout.rb 
Rack::Timeout.timeout = 10 # seconds 
Смежные вопросы