naichi's lab

3日後の自分(他人)への書き置き

【Rails4】heroku上でrakeを定期実行する

f:id:naichilab:20160712004417p:plain

昨日の続き。

下記記事で作ったrakeタスクを、heroku上で定期実行するように設定してみる。

blog.naichilab.com

Heroku Scheduler

herokuはschedulerっていうアドオンを提供してくれてる。

ほとんど公式を見ればわかると思う。

devcenter.heroku.com

使い方

何はともあれアドオンをインストール

$ heroku addons:create scheduler:standard
 !    Please verify your account to install this add-on plan 
(please enter a credit card) For more information, 
see https://devcenter.heroku.com/categories/billing 
Verify now at https://heroku.com/verify

支払い情報登録しろよって怒られた。

はいはいと登録し、再実行

$ heroku addons:create scheduler:standard                                        [22:25:14]
Creating scheduler-clear-69158... done, (free)
Adding scheduler-clear-69158 to sample-app... done
This add-on consumes dyno hours, which could impact your monthly bill. To learn more:
http://devcenter.heroku.com/addons_with_dyno_hour_usage

To manage scheduled jobs run:
heroku addons:open scheduler
Use `heroku addons:docs scheduler` to view documentation.

設定画面を開く

$ heroku addons:open scheduler

ブラウザが開いた。

f:id:naichilab:20160712223517p:plain

Add new jobを選択し、コマンドや実行間隔を選択。

f:id:naichilab:20160712223528p:plain

実行コマンドは昨日作ったrake simplelogs:generateです。

間隔は

  • 10分間隔
  • 1時間間隔
  • 1日間隔

が選べるようですね。

確認

$ heroku open

現在時刻(のUTC)のレコードが入ってるしたぶん動いたんでしょう。

scheduler単体の実行ログとか見る方法あるんだろうけど見方わからなかった。

とりあえずおっけー。