我的应用程序是在rails上构建的,而web服务器则是puma。
我需要从数据库加载数据,加载所有数据需要60多秒。每次我向服务器发送get请求时,我都要等待60秒以上。
请求获取的超时是60秒,所以我总是得到504网关超时。在puma配置中找不到更改请求超时的地方。 如何将请求超时设置为超过60秒?
谢谢!
答案 0 :(得分:0)
最好,您应该优化代码和查询,以便在更短的时间内做出响应,这样在生产环境中就不会出现应用程序出现大量流量的瓶颈。
如果您真的想增加响应时间,那么您可以使用机架超时来执行此操作:
答案 1 :(得分:0)
Rails本身不会超时,但是如果您正在运行Puma,请在config/puma.rb
中使用worker_timeout。示例:
worker_timeout (24*60*60) if ENV['RAILS_ENV']=='development'
答案 2 :(得分:0)
这里的 504 错误与 rails 服务器前面的网关有关,例如可能是 Cloudflare,或 nginx 等。
所以设置就在那里。您必须在那里增加超时,以及在 rails/puma 中。