4
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?

More than 3 years have passed since last update.

logを確認しながらrakeタスクを実装して、対象appを指定して起動しよう(Heroku)

Last updated at Posted at 2020-11-17

こんにちは、株式会社ベストティーチャーでサーバーサイドエンジニアとして働き出したばかりのタワラです。

業務ではじめて学んだTipsを紹介したいと思います。
今回はrakeタスクを作成してHerokuで動作確認をする手順です。

Rakeタスクを実装する手順

Tips1. ローカルでRakeタスクを作成する際には、Rails.loggerを活用する

こんな感じでコードを書いていたのですが、、、キャッシュを問い合わせるだけだから、これではログに何の情報も出ないな、動作確認はどうしよう、、、と思っているところ、、、

 namespace :hogehoge do
   desc "適当な説明をいれる"
   task :foobar => :environment do
     Rails.cache.fetch('hoge')
   end
 end

先輩「Rails.loggerを使うんだ!」
ボク「なるほど!」

 namespace :hogehoge do
   desc "適当な説明をいれる"
   task :foobar => :environment do
     Rails.logger.info('foobar started!')
     Rails.cache.fetch('hoge')
     Rails.logger.info('foobar finished!')
   end
 end

このように記述しておけば、例えばログに結果が出ない場合の処理でも、rakeタスクの作業確認ができます。こんなふうに↓

log/development.log
略

foobar started!
foobar finished!

略

きちんと動作していることが一目瞭然なのですごい便利!

Tips2. Heroku上で確認するときはアプリ名を指定する

続いて、Heroku上で動作確認をする必要があります、↓のコマンドでrakeタスクを走らせることはできますが、、、

heroku run rake hogehoge:foobar 

先輩「ちょっとお待ち!」
先輩「オプションでプロジェクト名を指定するのを忘れないで!」

heroku run rake hogehoge:foobar -a omosiro-project

先輩「きちんとrakeタスクを起動する対象のプロジェクトなのかを確認しよう!」
先輩「こういうことでバグが起きる可能性はゼロじゃないからね」
ボク「なるほど!」

終わりに

今回のTipsはこの2つ!

Tips1. ローカルでRakeタスクを作成する際には、Rails.loggerを活用する
Tips2. Heroku上で確認するときはアプリ名を指定する

業務ではやはり学ぶことが多いです。
本記事が業務駆け出しの方などの役に立てば幸いです。

4
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
4
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?