私はRailsのコントローラ一時ファイルとガベージコレクション
open(source) { |s| content = s.read }
rss = RSS::Parser.parse(content, false)
でこのコマンドを持っており、それが(希少)ディスクスペースを埋めている一時ファイルが得られています。
は私はある程度の問題を検討してきたし、それはこの問題が発生したスタック内のどこかで判明:
io = Tempfile.new('open-uri')
が、それは決して明示的に閉じられていない取得し、この一時ファイルのインスタンスのように見えます。ガベージコレクション時に自動的に発生する可能性のある方法は
def _close # :nodoc:
ですか?
何が起きているのか、どのように一時ファイルを整理するのが助けになるのですか。
そう呼び出します_閉じる?猿のパッチがなければ私はその一時ファイルにアクセスすることができない、と私は思う。 –
私は今問題を見る。私は答えにいくつかの情報を追加しました、うまくいけばそれはあなたのために働くでしょう。 – Guss
ありがとう! GCを明示的に呼び出すと問題が解決するとは思いません。私のテストでは、一時ファイルをクリーンアップしないようにする唯一の方法は、プログラムを中断することです。だから私は何が起こっているのか理解できません。 –