Railsでバッチ処理を書く仕事があって、どちらにするべきか迷った。 迷ったのでググったら以下の記事を見つけた。 stackoverflow.com 要約すると script/runner は実行時にRailsアプリを起動する。これは rake の :environment と似ている Railsの起動は時間が掛かるので避けられるならrakeにして避けるべき それ以外はほぼ同等 ということなので、Railsのモデルを使うバッチはrunnerで、それ以外はrakeにする方が良さそう。 個人的には、 -e で環境を指定できる クラスのメソッドを直接呼べるのでテストが書きやすい(rakeだと結局処理を別のクラスに起こさなければいけない) という点からrails runnerを使うことにした。