我有一个视频转码服务器,当视频被转码时,我需要将转换后的视频版本发送到 CDN,并向我的 CMS 管理员展示进程的进度。
起初(我想就像大多数其他 RoR 开发人员一样:)我为此目的寻找了一个 gem。老实说,我找不到一个。这让我想到我错过了一些东西。
当我四处搜索时,只需得到“回形针”和“ 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 个更新查询不是一个好主意?这种情况有解决办法吗?
那你建议我怎么做?我要求的目的是否有宝石?或者我应该使用什么?
谢谢你。