0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Rails初学者】rake -Tで自作タスクを確認してみる

Posted at

【Rails初学者メモ】rake -Tで自作タスクを確認してみました。

Railsで学習中、定期的な処理などの為に「rakeタスク」を使うと便利と知り、
rake -T で確認するということを行いました。


rakeタスクの追加

まずは lib/tasks フォルダに .rake ファイルを作成。
たとえば以下のようなコードを lib/tasks/notification.rake に追加しました。

namespace :notification do
  desc '利用者にメールを送付する'

  task send_emails_from_admin: :environment do
    p '初めてのrake task'
  end
end

ポイントは desc を書くこと!これがないと rake -T に表示されない。

rake -T でタスクを確認

ターミナルで rake -T を実行する。

rake notification:send_emails_from_admin  # 利用者にメールを送付する

表示されました。
これで自分のタスクが、他の開発者にもわかりやすくなります。

タスクを実行してみる

$ rails notification:send_emails_from_admin

実行すると、以下のような出力がありました。

"初めてのrake task"

無事に出力されています。

rakeタスク使用場面

  • 定期的にバッチ処理を実行したいとき(例:毎日メール送信)
  • 管理者が手動で特別な処理をしたいとき(例:特定ユーザーのデータ一括更新)
  • 手作業やコントローラー経由ではやりにくい処理も、rakeタスクにしておくと便利らしい

まとめ

  • lib/tasks/*.rake にコードを書くと、rakeタスクが追加される
  • desc を書かないと rake -T に表示されない
  • namespace でタスクをグルーピングできる
  • rails [タスク名] で実行できる(rakeでもOK)

今後、開発の段階で定期処理や管理系の処理に使用していけたらと思います。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?