3

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

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

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

任何建议如何做到这一点?

预先感谢。

4

1 回答 1

0

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

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

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

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

希望有帮助。

于 2012-04-18T14:56:17.973 回答