【Rails】バッチファイルを作成・実行してログを出力する方法

Ruby on Railsでバッチを作成して、実行する方法をメモしておきます。またログを出力する方法も紹介します。

【Rails】バッチファイルを作成・実行してログを出力する方法

application.rbに自動読み込みの設定を行います。

appディレクトリ以下ならautoload_pathsの記述は不要です。

・config/application.rb

 

バッチファイルを作成します。シンプルに”Test Batch”と出力するだけのバッチです。

また、初期化時にバッチのログを出力するよう設定を行っています。

BATCH_LOG_PATHでログの出力先を指定しています。今回は、log/batch.log配下に出力するよう指定しました。

BATCH_LOG_ROTATIONでログローテーションを指定しています。’daily’は1日ごと、’weekly’1週間ごと、’monthly’1か月ごとの指定ができます。

・lib/tasks/batch/test.rb

 

rails runner クラス名.メソッド名でバッチを実行できます。

 

以下のようにバッチのログが出力されていることが確認できます。

・log/batch.log