概要
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に実行