如何设置更长的轨道请求超时



我的应用程序建立在轨道上,Web服务器是puma。

我需要从数据库加载数据,加载所有数据需要 60 多秒。每次向服务器发送 get 请求时,我都必须等待 60 秒以上。

请求获取的超时时间为 60 秒,所以我总是得到 504 网关超时。我在 puma 配置中找不到更改请求超时的位置。如何将请求超时设置为超过 60 秒?

谢谢!

更新:显然worker_timeout不是答案,因为它与整个过程有关,而不仅仅是单个请求。所以这似乎是Puma不支持的东西,开发人员希望你用Puma前面的任何东西来实现它,比如Nginx。

原文:Rails本身不会超时,但如果你运行的是Puma,请在config/puma.rb中使用worker_timeout。例:

worker_timeout (246060( 如果 ENV['RAILS_ENV']=='发展'

这里的504错误是rails服务器前面的网关,例如它可能是Cloudflare或nginx等。

所以设置会在那里。你必须增加那里的超时,以及rails/puma。

最好是优化代码和查询,以便在更快的持续时间内做出响应,以便在生产环境中不会出现应用程序上出现大量流量的瓶颈。

如果您确实想增加响应时间,则可以使用机架超时来执行此操作:

https://github.com/kch/rack-timeout

相关内容

  • 没有找到相关文章

最新更新