私はmongoにファイルを保存するRailsアプリケーションを持っています。これは素晴らしく、私はそれらのファイルを提供するように設定しましたが、いくつかのユースケースでは、ファイルを取得してディスクに書き込む必要があります(pdfファイルをマージする)。URLからファイルを保存すると、まっすぐなRubyよりも遅くなりますか?
IRBまたは単純なRubyファイルから、私は次のコードを実行してファイルをほぼ即座に取得できますが、同じコードがRails内から呼び出されるとタイムアウトします。
require 'open-uri'
open('id1_front.pdf', 'wb') do |file|
file << open('http://127.0.0.1:3000/files/uploads/id1_front.pdf').read
p file
end
- それはRailsの中でタイムアウトされるだろう、なぜ
Timeout::Error (Timeout::Error):
app/controllers/design_controller.rb:38:in `block in save'
app/controllers/design_controller.rb:37:in `save'
誰もが知っていますか?ファイルをmongoから取り出してディスクに書き込むための代替ソリューション
ありがとうございました!
ファイルがデッドロックしている可能性があります。ただ好奇心から - 私は2つのファイル名が同じであることに気付いた(あなたが書いている、あなたが読んでいる)。読んでいるファイルシステム上の同じファイルに書き込もうとしていませんか? – bblack