我的应用程序是基于Rails而我的生产服务器是在Heroku上。
我的应用程序主要用于文件上传和文件处理,请求处理时间超过50秒。根据Heroku配置,我的请求没有及时响应,并且由于请求超时,它将我发送到应用程序错误页面。
如何在Heroku上更改请求超时配置?
请帮助我开展申请工作。
答案 0 :(得分:17)
超时值不可配置。如果您的服务器需要更长 超过30秒完成给定的请求,我们建议移动它 工作到后台任务或工作人员定期ping您的服务器 查看处理请求是否已完成。这种模式可以解放 您的网络进程可以完成更多工作,并且总体上会降低 应用程序响应时间。
答案 1 :(得分:0)
您应该将大文件直接上传到Amazon S3或类似文件,然后使用Heroku后台工作程序处理该文件。通常,您的网页将使用某种轮询(通常是AJAX请求)来查看处理何时完成并更新前端。
答案 2 :(得分:0)
如前所述,您需要在后台处理它,因为您无法更改Heroku强制执行的超时。这实际上是一件好事,因为它可以在Web应用程序响应时提供更好的设计,并且可以更好地扩展。
这意味着你需要使用像delayed job这样的东西,你可以在Heroku here上阅读它。
事情的流动将是这样的:
这是一个如何做到这一点的想法。您有几种不同的方法可以做到,而延迟工作只是您可以选择的方式。