アトラシエの開発ブログ

株式会社アトラシエのブログです

ERROR Rack::Multipart::MultipartPartLimitError: Too many open files - Maximum file multiparts in content reached

Rails4.2がリリースされましたね。

目玉機能はActiveJobということですが、これは実態はSidekiqやresqueのアダプタということで、本質的には新機能という感じではないですね。

AdequateRecordはすごそうですね。要するに内部でもろもろをキャッシュしてうまい具合にクエリを減らしてくれるという機能だそうです。

Railsではオブジェクトとして違うものはクエリを再発行してしまう(そしてSQL側のキャッシュを読み出す)ので、それが発行されないで済むという認識でいいんでしょうか・・・?

ちなみに弊社で運用中のサービスでは表題のエラーが発生しました。単純な画像アップロード機能で発生して、最初はファイルディスクリプタの問題かと思ったんですが大してプロセスもファイルも多くない状況で発生したのでバージョンを戻してみたところエラーにならない。

stackoverflow.com

このへんが関係しているようです。単純なソリューションとしてはイニシャライザで Rack::Utils.multipart_part_limit = 0 で黙らせてしまえばいいですね。