[Heroku] Heroku Schedulerを使ってみる
https://addons.heroku.com/scheduler
https://devcenter.heroku.com/articles/scheduler
アプリにSchedulerアドオンを追加
$ heroku addons:add scheduler:standard --app アプリ名 ----> Adding scheduler:standard to tbmngdev... done, v19 (free) 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
scheduler.rake
テスト用にscheduler.rakeを作成してみる。
lib/tasks/scheduler.rake
desc "Task Test" task :task01 => :environment do puts "Task01 start..." puts "Task01 done." end
コマンドラインで実行してみる
scheduler.rakeをherokuのgitにpushし、コマンドラインで実行してみる。
$ heroku run rake task01 Running rake task01 attached to terminal... up, run.1 Task01 start... Task01 done.
実行された
Herokuのログを確認するとTask01が実行されていた。
2012-07-25T07:06:21+00:00 heroku[run.1]: Starting process with command `bundle exec rake task01` 2012-07-25T07:06:22+00:00 heroku[run.1]: State changed from starting to up 2012-07-25T07:06:27+00:00 app[run.1]: Task01 start... 2012-07-25T07:06:27+00:00 app[run.1]: Task01 done. 2012-07-25T07:06:28+00:00 heroku[run.1]: Process exited with status 0 2012-07-25T07:06:28+00:00 heroku[run.1]: State changed from up to complete
Heroku Schedulerを確認すると、LAST RUNの日時か更新されていた。