メインスレッドから切り離された本番サーバーで実行されるrakeタスクのセットがあり、バックグラウンドで発生します
ここにそれを実行するコードがあります
def vehicle
@estate = Estate.find(@estate_id)
@date_string = @login_month.strftime("%m%Y")
system("rake udpms:process_only_vehicle[#{@date_string},#{@estate_id}] &")
redirect_to :controller => "reports/error_messages", :message => "Processing will happen in the background and reports will be refreshed after two minutes", :target => "_blank"
end
このコードをurl経由で実行すると、rakeタスクが実行され、本番マシンでアクティブなプロセスを確認するとわかりますが、約10秒後に突然終了します。
ps axl | grep rake
これはそれが示している
ruby /usr/local/rvm/gems/ruby-1.8.7-p352/bin/rake udpms:process_only_vehicle[082012,5]
ターミナルの app フォルダで同じ rake タスクを実行すると、エラーなしで実行されます。これは、開発マシンで問題なく実行されます。(OSX)。サーバーはミントです。Rake のバージョンはどちらも同じです。gem のバージョンは 1 つだけです。
実動サーバーであるため、ログはありません (produciton.log 以外にはありません)。この問題のデバッグ方法に関するヘルプは大歓迎です。