【发布时间】:2013-05-01 18:02:10
【问题描述】:
我有一个视频转码服务器,当视频被转码时我需要将转换后的视频版本发送到 CDN,并向我的 CMS 管理员显示进程的进度。
起初(我想就像大多数其他 RoR 开发人员一样:)我为此寻找了一个 gem。老实说,我找不到一个。这让我想到我错过了什么。
当我四处搜索时,只需得到“paperclip”和“carrierview”作为答案。但我不希望 gem 让用户将文件上传到服务器。 我想将文件从我的服务器复制到另一台服务器。
经过一番研究,我发现了一个名为Net::SCP 的原生Ruby 类,它有一个进度报告参数。我将 Resque 用于后台进程。所以我可能会使用 这个。
但是,当我使用这个块时:
scp.upload!("/path/to/local", "/path/to/remote") do |ch, name, sent, total|
puts "#{name}: #{sent}/#{total}"
end
它非常频繁地回调“发送”参数。我认为,每秒向我的数据库发送大约 5 个更新查询不是一个好主意?这种情况有解决办法吗?
那么你建议我怎么做?我要求的目的是否有宝石?或者我应该使用什么?
谢谢。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 ftp file-transfer