『Whenever』を使ってタスクを自動化!
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
CTC教育サービスはコラム「『Whenever』を使ってタスクを自動化! 」を公開しました。
んにちは。 ゼネットの藺藤です。
さて、みなさんは"自動化"はお好きですか? 私は好きです。(*1) 今回のコラムでは、Rails上で定期実行するジョブの管理に便利なGem、「Whenever」を紹介します。(*2,*3,*4)
Linux系OSでは、定期的にジョブを実行するための仕組みとしてcron (crontab)が用意されていますが、「Whenever」はcronの仕組みをより扱いやすいようにRubyを使って記述・拡張したツールであると言えます。
Railsアプリケーションにおいて自動化したいケースとしては、「大量データに対する集計・統計処理」、「logファイルの定期的な削除」、「非同期で処理すべきタスクの実行(例えば、指定時刻にメール送信)」等が挙げられるでしょうか。 ここで述べたような要件がある場合には、「Whenever」の導入を検討するのもよいでしょう。
それでは早速「Whenever」の使い方を見てゆきましょう。 なお、今回の動作確認環境は以下の通りです。
•CentOS 6.7
•Ruby 2.1.5p273
•Rails 4.2.4
準備
まずは新規のRailsアプリケーションを作成します。 私は「whenever_sample」という名称にしました。
$ cd ~/work
$ rails new whenever_sample 次に、「Whenever」を使えるようにするため、Gemファイルに以下を追記します。
[Gemfile]
(初期設定されているgemの後ろに次を追加)
gem 'whenever', require: falsebundle install を実行します。
$ bundle install
...
Installing whenever 0.9.4
...「Whenever」のインストールに成功しました。 現在のバージョンは 0.9.4 のようです。
ジョブの登録は config/schedule.rb に対して行います。 ファイルの生成には次のコマンドを利用します。
$ wheneverize .
[add] writing './config/schedule.rb'
[done] wheneverized!schedule.rb ファイルが生成されました。
この続きは以下をご覧ください
http://www.school.ctc-g.co.jp/columns/masuidrive/masuidrive22.html
ソーシャルもやってます!