Rakeタスクとは
Rakeとは、Rubyで書かれたコードをタスクとして作成しておき必要に応じて呼び出し実行する事が出来る機能。
このRakeが実行する処理内容をRakeタスクと呼び、定義する場所をRakefileと呼ぶ。
rakeタスクを利用する場面として、
・何かしらのデータの連携
・データベースのバックアップ
・定期的にデータを更新、削除する
などが挙げられる。
またwhenneverと組み合わせることにより、任意のタイミングで処理を実行することができる。
▷【Rails】wheneverでcronを設定
Rakeタスクの作り方
Helloと簡単な挨拶を表示するタスクを作成。
まず最初にタスクファイルを生成する。
$ rails g task ファイル名
↓
$ rails g task greet
上記のコマンドで、lib/tasks配下にgreet.rakeというファイルが生成されていて、ファイルの中身は以下のようになっている。
lib/tasks/greet.rake
namespace :greet do
end
この中に処理を記入していくことで、定義が完了する。
# 基本形
namespace :greet do
desc "タスクの説明" #desc → description(説明)
task task_name: :environment do #task_nameは自由につけられる
# 実行したい処理を記述する場所
end
end
# lib/tasks/greet.rake
namespace :greet do
desc "Helloを表示するタスク"
task say_hello: :environment do
puts "Hello"
end
end
記入し終えたら、タスクが表示されるか確認をする。
$ rake -T #←現在のアプリに定義されているタスク一覧が表示されるコマンド
rake greet:say_hello # Helloを表示するタスク
今度はタスクを実行して確認。Helloが返ってきたら成功。
$ rake greet:say_hello
Hello