BETA

rakeファイルの作成

投稿日:2019-03-08
最終更新:2019-03-08

rakeファイル

アプリケーションを起動せずにターミナルから処理を実行できる。

bundle exec rake -T
 現在定義されているタスクの一覧が表示される。

 

rakeファイルの作成

bundle exec rails g task foo

lib/tasks/foo.rakeが作成される。

# lib/tasks/foo.rake  
namespace :foo do  
end

namespace のfooは多くのタスクを管理するためのグループ分けのために利用する。

 

fooという名前空間(グループ)に処理を書いていく。

  • descはtaskの説明
  • taskの後ろはtask名
  • その中に実行する処理
namespace :foo do  
  # descの後にタスクの説明  
  desc "1つめのタスク"  
  task :first_task do  
    # 実行する処理  
    puts "this is first task"  
  end  

  desc "2つめのタスク"  
  task second_task: :environment do  
    # task :first_task => :environment do の書き方でもよい  
    # モデルにアクセスするときは:environmentが必要  
    puts "this is second task"  
  end  
end

bundle exec rake -Tで定義されたタスクの一覧にfoo:first_taskfoo:second_taskが追加されているか確認する。

ファイルを実行するときは bundle exec rake foo:first_task
実行結果は this is first_taks になる。

herokuのコンソールで動かすときはheroku run bundle exec rake foo:first_task

実行時のログ

2019-03-08T04:55:10.267376+00:00 heroku[run.9134]: Awaiting client  
2019-03-08T04:55:10.328192+00:00 heroku[run.9134]: State changed from starting to up  
2019-03-08T04:55:10.308596+00:00 heroku[run.9134]: Starting process with command `bundle exec rake foo:first_task`  
2019-03-08T04:55:16.868880+00:00 heroku[run.9134]: State changed from up to complete  
2019-03-08T04:55:16.851148+00:00 heroku[run.9134]: Process exited with status 1
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

学んだことの整理と忘備録としてアウトプット始めました。ログは自分用のちょっとしたメモ書き。

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう