我有一个简单的问题,但无法真正弄清楚它是如何工作的:我不知道Heroku超时何时开始注册。.
我正在将图像上传到AWS存储桶中,但首先要通过Heroku的Rails应用程序来调整图像的大小并创建不同的变体(使用Paperclip gem)。
然后..超时是否会在用户开始上传图像的最开始时开始注册,或者仅在Rails应用程序接收到图像时才注册。
如果是前者,那么我想我需要先上传到AWS。但是,如果是后者(那么不依赖用户带宽),我想我可以保留当前方案..
答案 0 :(得分:2)
Heroku的路由器收到请求后,超时立即开始。
在ruby应用程序上,该应用程序的每个实例只能处理一个请求。当然,有一些方法可以处理与工作程序(进程)和线程的并发请求。但是每个工作线程/线程仍然只能处理一个请求。
这意味着ruby在处理长时间运行的请求方面并不出色。因此,直接将文件上传到S3总是会为您带来更多的可伸缩性。
这实际上是Heroku建议这样做的方式:https://devcenter.heroku.com/articles/direct-to-s3-image-uploads-in-rails