Pythonでscheduleを用いて指定した”x”分ごとにジョブを実行する

Pythonでscheduleを用いて指定した”x”分ごとにジョブを実行してみます。

今回はscheduleモジュールを用います。このライブラリ・モジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■scheduleを用いて指定した”x”分ごとにジョブを実行する

では、早速scheduleを用いて指定した”x”分ごとにジョブを実行するスクリプトを書いていきます。

■コード

import schedule
import time 

def hello():
    print("こんにちは、世界")

schedule.every(3).minutes.do(hello)

while True:
    schedule.run_pending()
    time.sleep(1)

今回は、importでscheduleモジュールと、Pythonの標準ライブラリであるtimeモジュールを呼び出します。

その後、def文を用いてhello()という関数を定義します。関数が呼び出された時に実行される処理は、print()を用いて日本語の文字列を出力されるというものです。

関数を定義後、schedule.every().seconds.do()を用いて、every()の括弧内に引数,パラメータとして時を渡します。今回は「3」とし、後ろにminutes(分)があるので、「3分ごと」にジョブが実行されるように指定します。なおdo()の括弧内に引数,パラメータとしてhello()関数を渡します。これで3分ごとに関数を呼び出し処理が実行されます。

その後、while文を用いて、条件がTrue(真)の場合に、ループ(繰り返し)処理を行います。行われて処理としては、schedule.run_pending()を用いて、ジョブを実行します。さらに、time.sleep()を用います。括弧内に引数,パラメータとして「1」を渡します。これで処理を1秒間、一時停止することができます。一時停止後、ループ(繰り返し)処理となります。

■実行・検証

このスクリプトを「job_sche.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

実行してみると、今回指定した分ごと(3分ごと)に関数が呼び出され処理が実行されました。実行された結果、コマンドプロンプト上で日本語の文字列を出力されることを確認できました。

コメント

タイトルとURLをコピーしました