2012-04-02 36 views
2

我正在研究應該在Nginx服務器上運行的Rails應用程序。根據輸入,應用程序可能需要很長時間來處理請求(或者在出現錯誤時掛斷),所以我想阻止進程永遠運行。除了確保客戶端獲得超時信號的Nginx配置之外,我認爲我仍然可能需要確保我的應用停止處理這些請求。這應該在哪裏處理?在我的Rails應用程序中(使用std-lib的Timeout/Thread)還是外部(殺死進程)?Rails/Nginx中的超時 - 最佳實踐

回答

1

我通常在機架層上使用Rack::Timeout來做到這一點。

# config/initializers/timeout.rb 
Rack::Timeout.timeout = 10 # seconds