LoginSignup
30
24

More than 1 year has passed since last update.

【Rails 】Rakeタスクとは

Last updated at Posted at 2022-02-17

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

参考記事

Rakeタスクの実装
【Ruby on Rails】Rakeタスクを使えば様々な処理が自動化出来る?(初心者向け)

30
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
24