FireShot_Capture_129_-_クラウド_アプリケーション_プラットフォーム_-_Heroku_-_jp

超簡単Pythonプログラム定期自動実行(Heroku・APScheduler利用)

Pythonで超簡単にジョブスケジュール管理(Heroku・APScheduler利用)

1. Herokuへ行ってアカウント作成

クレジットカード番号を登録すると、無料のdyno時間が月550時間から1000時間に増えます(完全無料で使えてお得)

2. ツールインストール(ubuntu 16+)

macやwindowsの場合はドキュメント参照

$ sudo snap install heroku --classic

3. ログイン

heroku login --interactive

4. ファイル作成

requirements.txt

APScheduler==3.0.0

clock.py

from apscheduler.schedulers.blocking import BlockingScheduler

sched = BlockingScheduler()

@sched.scheduled_job('interval', minutes=3)
def timed_job():
   print('This job is run every three minutes.')

sched.start()

Procfile

clock: python clock.py

5. デプロイ

$ git init
$ git add .
$ git commit -m "first commit"
$ git branch -M main

$ heroku create
$ git push heroku main

$ heroku ps:scale clock=1

6. 動作確認

$ heroku logs --tail

 以上、超簡単

7. タイムゾーン変更

$ heroku config:add TZ=Asia/Tokyo --app アプリ名

8. タイムゾーン確認

$ heroku run bash --app アプリ名
~ $ date
Wed 08 Dec 2021 02:37:27 PM JST​

9. 参考


いいなと思ったら応援しよう!