我在 Heroku 上托管了一个应用程序,该应用程序将大量数据信息保存到数据库中(大约需要 70 秒)。
Heroku 在每个请求的 30 秒后显示关于超时的错误页面H12,我如何在上传过程中显示一些信息消息而不是显示H12错误?
我一直在寻找这方面的一些例子,但我并没有很成功......我只是发现了一些笔记,我必须每次(例如 15 秒)从服务器发送一些控制字符串,但我已经没有找不到一些具体的例子如何做到这一点......
任何建议如何做到这一点?
预先感谢。
我在 Heroku 上托管了一个应用程序,该应用程序将大量数据信息保存到数据库中(大约需要 70 秒)。
Heroku 在每个请求的 30 秒后显示关于超时的错误页面H12,我如何在上传过程中显示一些信息消息而不是显示H12错误?
我一直在寻找这方面的一些例子,但我并没有很成功......我只是发现了一些笔记,我必须每次(例如 15 秒)从服务器发送一些控制字符串,但我已经没有找不到一些具体的例子如何做到这一点......
任何建议如何做到这一点?
预先感谢。
让您的用户等待 70 秒以在任何平台上完成请求是一种不好的做法。Heroku 只是通过实现 30 秒超时来强制执行此最佳实践。所以真正的问题是如何更好地构建应用程序。
Heroku 有一篇关于实现后台工作者的文章,旨在解决这个问题:https ://devcenter.heroku.com/articles/queueing
基本方法是让 Web 请求安排一个后台作业(使用延迟作业、队列经典、Resque 等),并立即用一些进度指示器响应用户。然后,运行后台工作人员的测功机完成了将信息保存到数据库的繁重工作。完成后,它会在数据库或其他存储机制中翻转一些标志,通知 Web 客户端该作业现已完成。
运行后台工作人员确实需要另一个测功机。如果您想避免这笔费用,您可以查看许多报告成功的Girl Friday 。
希望有帮助。