ruby-on-rails - Unicorn + Rails + 大型上传

标签 ruby-on-rails http heroku unicorn

在使用 Rails 的 Heroku 上运行 Unicorn 时,我试图允许大量上传,但我意识到任何大量上传可能需要比 Unicorn worker 超时时间更长的时间。这将意味着(我已经看到这种情况发生了)Unicorn 主进程将杀死上传大文件的工作人员并且请求将超时(出现 503 错误)。

在不删除或大量增加我的服务器超时的情况下,有什么方法可以让上传工作人员在上传完成时挂起?或者,我是否完全误解了,很可能是其他原因导致我的上传超时?

最佳答案

如果您在 unicorn 前使用 nginx 作为反向代理,您可以使用 Upload Module .配置后,nginx 处理上传并将其存储在/tmp 目录中,然后您的 unicorn 获取请求参数,告诉它上传的 Assets 在哪里及其内容类型。不再有工作人员忙于接收上传。

如果您真的不想在与您的网络服务相同的服务器上上传,而是将其存储在 S3 中,您应该遵循@Neil Middleton 的建议并进行设置,以便上传直接到那里。

关于ruby-on-rails - Unicorn + Rails + 大型上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9592664/

相关文章:

ruby-on-rails - collection_select 表单上的 rails "uninitialized constant ActionView::CompiledTemplates"

python - 如何在python请求库中实现重试机制?

java - 我正在尝试构建 url 但出现异常

ruby-on-rails - Heroku dev 上的 Postgres 进程 fork 错误

heroku - Strapi + Heroku 部署失败 :npm ERR! 代码 ERESOLVE

javascript - 在沙箱中的服务器上运行 JavaScript 代码

javascript - geolocation.getCurrentPosition 晚上失败 -- 如何提供自己的 api key ?

ruby-on-rails - Rails API rspec 测试

css - 如何在 Rails 中将实例变量作为 css 规则插入?

javascript - 类型错误 : First argument must be a string or Buffer.