LoginSignup
0
0

More than 3 years have passed since last update.

rakeタスク

Posted at

rakeタスクとは

railsに標準装備されているrake routesなどコマンドライン上でアプリケーションの機能を実行するもの
自分でオリジナルのrakeタスクを作成することもできる。
定期的に実行したい機能などをrakeタスクとして作成しておくことで効率的な運用が可能になる。
定期的に実行したい処理はlib/tasks以下のディレクトリに作成することが多い

rakeタスクの実行

以下のコードはユーザーが入店したかどうかを判断する"enter_flag"というカラムを全てfalseにするrakeタスクである。

lib/tasks/user_chacker.rb
namespace :user do
  desc "ユーザーの入店情報をリセットする"
  task reset_entered_flag: :environment do
    User.update_all(entered_flag: false)
  end
end

このrakeタスクを実行するにはターミナル上で

ターミナル
rake user:reset_entered_flag

と打ち込む
rake [namespeceの名前]:[taskの名前]のように記述して実行します。
毎日・毎週特定の曜日・3日おきなど、特定の周期でrakeタスクを自動実行したい場合は、
wheneverというgemを組み合わせて実行する。

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