herokuのタイムゾーンを変更したらAPSchedulerが動いた話
APSchedulerがピクリともしない問題発生
APSchedulerをcron式タイムスケジュールで0:20に命令を実行したいのですが、なぜか0:20になってもピクリともしませんでした。
from apscheduler.schedulers.blocking import BlockingScheduler sched = BlockingScheduler() #0:20 @sched.scheduled_job('cron', hour=0, minute=20) def scheduled_job(): print('This job is run every weekday at 0:20.') sched.start()
時間設定の仕方はhour=0、minute=20で0:20を指すはずだが...
APChedulerをcron形式で動かすドキュメントを読んだので、きっと間違いはないはず。
apscheduler.triggers.cron — APScheduler 3.3.1.post4 documentation
だが、動かぬ。
herokuのタイムゾーンをJSTに変更
まず、herokuの現在のタイムゾーンを念の為確認。
#heroku上でbashを起動してから。 heroku run bash #タイムゾーンを確認 date
heroku config:add TZ=Asia/Tokyo
無事解決しました
最近は株価の分析には時間が割けてなくて、heroku上でシステムを動かすことにばかり時間を費やしています。
あまり楽しくはありませんが、これから自分一人でシステムを作っていこうと思うと避けて通れない道だと思っています。
なので、焦らず地道にドキュメントを読みながら作業を進めています。