我正在研究一个应该在Nginx服务器上运行的Rails应用程序。根据输入,应用程序可能需要很长时间来处理请求(或在出现错误时挂起),因此我希望阻止进程永远运行。除了Nginx配置,它确保客户端获得超时信号,我想我仍然可能必须确保我的应用程序停止处理这些请求。应该在哪里处理?在我的Rails应用程序中(使用std-lib中的Timeout / Thread)或外部(查杀进程)?
答案 0 :(得分:1)
我通常使用Rack::Timeout在Rack层执行此操作。
# config/initializers/timeout.rb
Rack::Timeout.timeout = 10 # seconds