サードパーティライブラリの制限のため、静的な名前のファイルを使用する必要があります。複数のユーザーが同時にそのファイルに書き込もうとすると、Railsはどうなりますか? EACCESSエラー?複数のプロセスが同じファイルを書き込もうとするとどうなりますか?
これを回避できる方法はありますか?
サードパーティライブラリの制限のため、静的な名前のファイルを使用する必要があります。複数のユーザーが同時にそのファイルに書き込もうとすると、Railsはどうなりますか? EACCESSエラー?複数のプロセスが同じファイルを書き込もうとするとどうなりますか?
これを回避できる方法はありますか?
Rubyレベルでは、複数のプロセスがファイルへの書き込みを試みると、ライブラリをどのようにファイルを使用するかによってファイルがロックされるかどうか、ファイルを開くモード、ファイルを開くモードが異なります。 (ほとんどの場合、ライブラリがこの状況を処理するために何もしない場合)、複数のライターは、ファイルを破壊するような方法で、書き込みを互いに静かにインターリーブするか、最後のライターが勝つ可能性があります。
Railsレベルでは、Railsの実行方法によって異なります。 Rails自体はデフォルトではシングルスレッドなので、通常は1つのサーバで1つの通常設定されたRailsインスタンスを実行すると問題は発生しません。複数のRailsインスタンス(おそらく、Passengerやunicornのようなアプリケーションサーバによって制御される)を実行すると、問題が発生する可能性があります。
環境)。