我的 Rackspace 文件中有数百万个文件。我想删除其中的一部分,传递文件名列表而不是一个一个删除,这很慢。有没有办法用雾来做到这一点?现在,我有一个脚本来删除每个文件,但是如果有更好的性能的话会很好。
connection = Fog::Storage.new({
:provider => 'Rackspace',
:rackspace_username => "xxxx",
:rackspace_api_key => "xxxx",
:rackspace_region => :iad
})
dir = connection.directories.select {|d| d.key == "my_directory"}.first
CloudFileModel.where(duplicated: 1).each do |record|
f = record.file.gsub("/","")
dir.files.destroy(f) rescue nil
puts "deleted #{record.id}"
end