Rakeタスクの実装memo✍
Rakeタスクとは?
- アプリケーションを起動せずに定義した処理を実行することができるやつ
- わざわざアプリを起動せず定期タスクを実行できたりするので便利
(実装手順)
rails g task status_task
lib/tasks/
配下に'status_task.rake'が作成される。
(記述例)
# 名前空間 namespace :status_task do # タスクの説明 desc => description(説明) desc '公開待ちの中で、公開日時が過去になっているものがあれば、ステータスを「公開」に変更されるようにする' # update_status_task => タスクの名前 task update_status_task: :environment do # 実行したい処理を記述する場所 Article.publish_wait.past_published.find_each(&:published!) end end
- 名前空間とはタスクが沢山あった時にグループ分けできるもの
:environment
はおまじないくらいの理解でOK
タスク一覧の確認コマンド
rake -T