У меня есть эта команда в контроллере Railsи Временный файл Garbage Collection
open(source) { |s| content = s.read }
rss = RSS::Parser.parse(content, false)
и это приводит к временным файлам, которые Наполнение (дефицитное) дисковое пространства.
Я исследовал эту проблему в какой-то степени, и оказывается, что где-то в стеке это происходит:
io = Tempfile.new('open-uri')
, но это выглядит, как этот экземпляр TempFile никогда не получает явно закрыт. У него есть
def _close # :nodoc:
метод, который может срабатывать автоматически при сборке мусора?
Любая помощь в понимании того, что происходит или как очистить tempfiles, будет действительно полезной.
так, кто называет _Закрыть? Я не думаю, что без перехвата обезьян я не имею доступа к этому временному файлу. –
Я вижу проблему сейчас. Я добавил дополнительную информацию в ответ, надеюсь, это сработает для вас. – Guss
Спасибо за это! Я не могу себе представить, что вызов GC явно решит проблему. В моем тестировании единственный способ получить tempfile для НЕ очистки - это прервать программу. Поэтому я не могу понять, что может произойти. –