【问题标题】:HTTP streaming on Heroku (upload lots of data)Heroku 上的 HTTP 流式传输(上传大量数据)
【发布时间】:2012-03-28 12:00:51
【问题描述】:

我在 Heroku 上托管了一个应用程序,该应用程序将大量数据信息保存到数据库中(大约需要 70 秒)。

Heroku 在每个请求的 30 秒后显示错误页面 H12 关于 timeout,如何在上传过程中显示一些信息消息而不是显示H12 错误?

我一直在寻找这方面的一些例子,但我不太成功......我只是发现了一些笔记,我必须每次(例如 15 秒)从服务器发送一些控制字符串,但我已经没有找到一些具体的例子如何做到这一点......

有什么建议吗?

提前致谢。

【问题讨论】:

    标签: ruby-on-rails-3.1 upload heroku http-streaming pooling


    【解决方案1】:

    让您的用户在任何平台上等待 70 秒以完成请求是一种糟糕的做法。 Heroku 只是通过实现 30 秒超时来强制执行此最佳实践。所以真正的问题是如何更好地构建应用程序。

    Heroku 有一篇关于实现后台工作者的文章,旨在解决这个问题:https://devcenter.heroku.com/articles/queueing

    基本方法是让网络请求安排一个后台作业(使用延迟作业、队列经典、Resque 等),并立即用一些进度指示器响应用户。然后,运行后台工作人员的测功机完成了将信息保存到数据库的繁重工作。完成后,它会翻转 db 或其他存储机制中的一些标志,通知 Web 客户端作业现已完成。

    运行后台工作人员确实需要另一个测功机。如果您想避免这笔费用,您可以查看Girl Friday,许多人报告说他们都成功了。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2018-03-06
      • 1970-01-01
      • 2011-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-08
      • 2012-06-23
      相关资源
      最近更新 更多