1. ホーム
  2. python

[解決済み] Flaskで1時間ごとに関数を実行するようにスケジュールするには?

2022-07-12 08:02:44

質問

私は、Flaskのウェブホスティングを利用しているのですが、そのウェブホスティングから cron コマンドにアクセスできません。

1時間ごとにPythonの関数を実行するにはどうすればよいですか?

どのように解決するのですか?

あなたは BackgroundScheduler() から APScheduler パッケージ (v3.5.3) から取得しました。

import time
import atexit

from apscheduler.schedulers.background import BackgroundScheduler


def print_date_time():
    print(time.strftime("%A, %d. %B %Y %I:%M:%S %p"))


scheduler = BackgroundScheduler()
scheduler.add_job(func=print_date_time, trigger="interval", seconds=60)
scheduler.start()

# Shut down the scheduler when exiting the app
atexit.register(lambda: scheduler.shutdown())

なお、これらのスケジューラのうち2つはFlaskがデバッグモードの時に起動されます。詳しくは この の質問を参考にしてください。