ruby-on-rails - Rails/Nginx 中的超时——最佳实践

标签 ruby-on-rails ruby ruby-on-rails-3 nginx

我正在开发一个应该在 Nginx 服务器上运行的 Rails 应用程序。根据输入,应用程序可能需要很长时间来处理请求(或在出现错误时挂起),所以我想防止进程永远运行。除了确保客户端获得超时信号的 Nginx 配置之外,我认为我仍然可能必须确保我的应用程序停止处理这些请求。这个应该在哪里处理?在我的 Rails 应用程序中(使用来自 std-lib 的超时/线程)还是在外部(终止进程)?

最佳答案

我通常使用 Rack::Timeout 在机架层执行此操作.

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

关于ruby-on-rails - Rails/Nginx 中的超时——最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9976869/

相关文章:

Ruby 部分单词匹配

ruby-on-rails - 禁用所有 XML View

ruby-on-rails-3 - i18n自定义验证错误处理

ruby-on-rails - Rails、Ruby 1.9.3p0 和 mysql gem

ruby-on-rails - 遍历 has_many 时访问关联的连接模型 :through association

ruby-on-rails - 路由错误 没有路由匹配 [POST] "/movies/9/edit"

ruby-on-rails - 为什么 `config.force_ssl = true` 不是生产 rails 应用程序的默认值?

ruby-on-rails - rails 4 : List of available datatypes

ruby-on-rails - 在 Rails 中,如何删除数组中的所有对象?

ruby-on-rails - 安装 ruby gem