少数のアクションでかなりの計算時間が必要なRailsアプリケーションがあります。これらのアクションをバックグラウンドタスクとして管理する複雑さを克服するのではなく、処理を複数のスレッドに分割し、マルチコアサーバでJRubyを使用することで、すべてのスレッドが妥当な時間内に完了することを保証できます。 (顧客は、このアプローチを維持することに対して、バックグラウンドでタスクを実行するのに対して強い関心を示しています)。Railsアプリケーションのスレッド内でのログ
問題は、これらのスレッド内でRailsロガーへの書き込みが機能しないことです。ログファイルには何も表示されません。私はこの問題にいくつかの言及を見つけましたが、解決策はありませんでした。私はデバッグを助けるために私のコードにputsを挿入しても構いませんが、stdoutはglassfish gem appサーバーによって食べられるようです。
誰かが毎回新しいログを作成せずにRailsのRubyスレッドのログを正常に終了しましたか?
更新:スレッドのputsがglassfishログファイルに表示されることがわかりました。なぜ私はこれを見たことがないのか分かりません。私はもともと別の(非メイン)スレッドによって生成されたスレッドでそれをテストしたかもしれません。とにかく、デバッグの目的で、私はSTDOUTへのログファイルへの書き込みを見ているので、私は満足しています。 –