私は、Ubuntu上で動作するRails 3.0.3アプリケーションで画像のアップロードを処理するためにPaperclip(2.3)を使用しています。 Paperclipは広告されているアップロードを処理していますが、アプリケーションの/ tmpフォルダに作成されたRackMultipart *ファイルは保持されます。つまり、削除するのではなく単に蓄積するだけです。私は古いtmpファイルを削除するためにtmpreaperを使うことができることを認識していますが、もっとエレガントでスケーラブルな解決策を探したいと思います。Rack/tmpディレクトリにRackMultipart *ファイルが永続化されているのはなぜですか?
以前の問題(RackMultipart *ファイル)がRailsアプリのルートディレクトリ(/ tmpではなく)に蓄積されていました。私は明示的にそうように私environment.rbのファイルに一時パスを設定することで、これを解決:
ENV['TMPDIR'] = Rails.root.join('tmp')
一時ファイルが適切に処理されていることを確認するように設定する必要があり、別の環境変数があります - すなわち、彼らいったん削除しますモデルに保存されましたか?これがPaperclipやRailsの設定に問題があるかどうかはわかりません。
私は高低を検索しましたが、これについて少し進歩していません。私はどんなリードにも感謝しています。
誠にありがとうございます。
PS - 私は現在、ストレージ用にS3を使用しています。これは問題に結びついているようではありません。ファイルをローカルに保管していたときも同じ問題がありました。
:application.rbでこのラインを含む
はhttp://www.rubydoc.info/github/rack/rack/Rack/TempfileReaper
問題を解決します。 CRONは10分ごとにtmpreaperを実行してtmpディレクトリをクリアします。まだエレガントな修正が欲しいですが、これは今のところうまくいくようです。 – NAD
あなたはどのサーバーを使用していますか?おそらくプーマ? –
Rack develグループの関連スレッド:https://groups.google.com/forum/#!searchin/rack-devel/temp/rack-devel/brK8eh-MByw/sw61oJJCGRMJ –