to the scheduling jobs without add-ons on heorku
英語わかんないしそーゆーのやめて。やめて!やめてよ!
heroku で cron 的な動作をさせるには cron add-on があるけどそれはもう非推奨で、これからは Heroku Scheduler add-on を使いましょう。以上。
が、 Heroku Scheduler というか add-on 使うにはアカウントの verify がいるのでつまりクレカ登録が要るのでのっぴきならない事情(なんかヘタこいた時に地獄の請求されたりしたら逃げ切れるようにクレカは入れたくない)によりなんとか add-on 無しで cron 的な事できないかなーとかポリッピー (High Quality Peanuts) 食べながら検索してたら有ったのでメモ。
- tomykaira/clockwork · GitHub
- clockwork について - Ownway.Info(Ruby) - 君の瞳はまるでルビー
- HerokuでのCronについて調べてみた
- Herokuでcron?もう古いかも、それ - Meltdown Countdown rev.
ぁゎゎゎ、インターネット便利ですぅー。
# crock.rb require "clockwork" include Clockwork handler do |job| case when "ftc.claim" Google.pay(22500000, 'USD') # Safari Sucks end end every(1.day, "ftc.claim", at: "02:30", tz: "Japan")
# Procfile
clock: bundle exec clockwork clock.rb
とか書いて git push. heroku コマンドにて worker の設定。 web dynos を閉じ worker dynos(clockwork) を一つ走らせる。
$ heroku scale web=0 clock=1
ちゃんとできてれば ps コマンドが以下みたいになるはず。
これでちゃんとできてると言えるのかは知らん。
$ heroku ps === clock: `bundle exec clockwork clock.rb` clock.1: up for 5s
そしたら後は $ heroku logs --tail
でログ追えばいいじゃない。
多分これでいいはず。知らん。怖い。
なんでもいいけど heroku ps が3回に1回は socket error 吐いて怖かったです。