rails runnerをたたくと、
Please specify a valid ruby command or the path of a script to run.
Run 'bin/rails runner -h' for help.
なメッセージが。何度試行錯誤しても同じエラーメッセージが出てくるだけ、、、
そして気付いたのが、エラーが起こるとつねに上のメッセージが出てくるのでは?ということ。これでは肝心のエラー内容がわからない、、
そこで、exceptionを捕捉して明示的にloggerでエラー内容を出力することにした。見事解決。
logger = Logger.new(Rails.root.join('log', "#{Rails.env}.log"))
begin
logger.info("Start")
rescue => e
logger.error("Unhandled exception! #{e} : #{e.backtrace.inject(result = "") { |result, stack| result += "from:#{stack}\n" }}")
ensure
logger.info("Finish")
end
rails runnerは色々ちょっと使いづらい気がする。バッチ処理をするのに、もっと良い方法はないのかなー?