Я пытаюсь читать mp3-файлы с помощью «mp3info» gem и просматривая каждый файл, который заканчивается на .mp3 в его имени файла в каталоге и перемещается в каталог с помощью Dir.chdir() и повторить процесс и сохранить эти теги в базе данных. Но у меня есть 30-граммовая музыкальная коллекция, и для завершения сканирования требуется около 6-10 минут. Есть ли способ оптимизировать это сканирование?Оптимизация чтения id3-тегов mp3-файлов
def self.gen_list(dir)
prev_pwd=Dir.pwd
begin
Dir.chdir(dir)
rescue Errno::EACCES
end
counter = 0
Dir[Dir.pwd+'/*'].each{|x|
#puts Dir.pwd
if File.directory?(x) then
self.gen_list(x) do |y|
yield y
end
else if File.basename(x).match('.mp3') then
begin
Mp3Info.open(x) do |y|
yield [x,y.tag.title,y.tag.album,y.tag.artist]
end
rescue Mp3InfoError
end
end
end
}
Dir.chdir(prev_pwd)
end
Это метод, который генерирует список и отправляет теги на & блок, где данные хранятся в базе данных ..
Не могли бы вы показать код? – Dogbert
Я думал, что код будет не очень полезен, обновил вопрос с помощью некоторого кода .. спасибо – pahnin