FIX: Handle files removed between glob and mtime

This commit is contained in:
Jarek Radosz 2020-05-31 14:35:08 +02:00
parent 9ee77eae98
commit 7df688d108

View File

@ -151,8 +151,14 @@ module FileStore
# Remove all but CACHE_MAXIMUM_SIZE most recent files
files = Dir.glob("#{CACHE_DIR}*")
.sort_by { |f| File.mtime(f) }
.slice(0...-CACHE_MAXIMUM_SIZE)
files.sort_by! do |file|
begin
File.mtime(file)
rescue Errno::ENOENT
Time.new(0)
end
end
files.pop(CACHE_MAXIMUM_SIZE)
FileUtils.rm(files, force: true)
end