43
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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タスクを使えば様々な処理が自動化出来る?(初心者向け)

43
28
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
43
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?