概要
Heroku Scheduler でバッチを月一回だけ(あるいは週一回だけ)実行したい
bash
のif
で日付指定する。
[ $(date +%d) = 01 ] && ruby ./batch.rb #毎初日に実行
準備
dyno のタイムゾーンを東京にしておく
heroku config:add TZ=Asia/Tokyo
Heroku Scheduler Add Job...
で追加
task
欄にシェルスクリプトで条件と実行するバッチを設定
Frequency
はDaily
Next Run
ここでの表示時間は UTC なので 00:00
に実行したい場合は -9hr して 15:00
で設定
そのほか
[ $(date +%u) = 1 ] && ruby ./batch.rb #毎月曜日に実行
[ $(date +%m) = 02 ] && [ $(date +%d) = 14 ] && ruby ./batch.rb #2/14に実行