【问题标题】:Time out error on heroku using puma server使用 puma 服务器的 heroku 超时错误
【发布时间】:2015-12-13 11:39:18
【问题描述】:

我在 heroku 上部署了我的 rails 项目,但我在 heroku 上遇到超时错误。我在 heroku 上使用 puma 服务器。我的项目是关于使用 URL 抓取网络数据。我还尝试了 webrick 和独角兽服务器。有人可以建议我解决这个问题吗?

【问题讨论】:

    标签: ruby-on-rails-4 heroku github heroku-toolbelt heroku-postgres


    【解决方案1】:

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

    在这种情况下,您使用的网络服务器可能无关紧要。事实上,Heroku 将request timeout 强制为 30 秒。如果您的应用在 30 秒内未返回响应,则 Heroku 将终止该请求。您使用哪个 Web 服务器并不重要。

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

    1. 在您的代码中设置一个超时时间(您可以使用Timeout 库)以确保没有外部 HTTP 请求花费超过一定时间,该时间必须低于 Heroku 超时时间。

    2. 您可能还希望将长期运行的任务从请求的上下文中移到不受 Heroku 中请求超时影响的异步作业中。但是,为了做到这一点,您需要一个后台作业系统,例如 Sidekiq 或 Resque。

    【讨论】:

    • 实际上我正在使用 URL 从其他站点获取数据。我使用了 sidekiq 但它不起作用........我想在后台运行任务......但我不知道怎么做
    猜你喜欢
    • 2015-05-08
    • 2019-01-15
    • 2016-09-13
    • 2016-06-14
    • 2016-09-25
    • 2015-09-10
    • 2012-12-01
    • 1970-01-01
    相关资源
    最近更新 更多