Ruby on rails 4 使用puma服务器的heroku上出现超时错误

Ruby on rails 4 使用puma服务器的heroku上出现超时错误,ruby-on-rails-4,heroku,github,heroku-toolbelt,heroku-postgres,Ruby On Rails 4,Heroku,Github,Heroku Toolbelt,Heroku Postgres,我在heroku上部署了rails项目,但在heroku上遇到超时错误。我在heroku上使用puma服务器。我的项目是关于使用URL抓取web数据。我还尝试了webrick&unicorn服务器。有人能给我建议这个问题的解决方案吗?您的问题缺少关于导致超时错误的原因的信息。当您从其他网页获取数据时,超时很可能是由没有响应的HTTP URL引起的 在这种情况下,您使用的web服务器可能与此无关。事实上,Heroku施加了30秒的时间限制。如果你的应用程序在30秒内没有返回响应,Heroku将终止

我在heroku上部署了rails项目,但在heroku上遇到超时错误。我在heroku上使用puma服务器。我的项目是关于使用URL抓取web数据。我还尝试了webrick&unicorn服务器。有人能给我建议这个问题的解决方案吗?

您的问题缺少关于导致超时错误的原因的信息。当您从其他网页获取数据时,超时很可能是由没有响应的HTTP URL引起的

在这种情况下,您使用的web服务器可能与此无关。事实上,Heroku施加了30秒的时间限制。如果你的应用程序在30秒内没有返回响应,Heroku将终止请求。使用哪个web服务器并不重要

为了解决这个问题,你必须

  • 在代码中设置一个超时(您可以使用
    timeout
    库),以确保外部HTTP请求不会超过一定的时间段,该时间段必须低于Heroku超时

  • 您可能还希望将正在运行的任务从请求上下文移到不受Heroku中请求超时限制的异步作业中。然而,为了做到这一点,你需要一个后台工作系统,如Sidekiq或Resque


  • 事实上,我正在使用URL从其他网站获取数据。我使用了sidekiq,但它不起作用……。我想在后台运行任务……但我不知道怎么做