Pythonでrocketryを用いて単純なスケジューラーを作成してみます。
今回はrocketryを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■rocketryを用いて単純なスケジューラーを作成する
では、早速rocketryを用いて単純なスケジューラーを作成していきます。
■コード
from rocketry import Rocketry from rocketry.conds import minutely app = Rocketry() @app.task(minutely.at("10")) def do_minutely_test(): print("こんにちは、世界!") if __name__ == "__main__": app.run()
「from import」を用いてrocketryモジュールのRocketryと、rocketry.condsのminutelyを呼び出します。その後、「app = Rocketry()」でappオブジェクトを作成します。
作成後、「@app.task()」でタスクの設定を行います。括弧内には引数,パラメータとして、特定の時間にタスクの実行を行うため、今回はminutely.at()を渡します。これでminutely(1分おきに)1回タスクが実行され、1分間から指定した秒後にタスクが実行となります。今回は「10」とします。
その後、実行するタスクを記述します。今回は、do_minutely_test()という関数を定義します。定義された関数が呼び出された時の処理としては、print()で日本語の文字列を出力させるものです。
関数を定義後、「if __name__ == “__main__”:」を記述し、実行するとして処理をapp.run()を記述します。これでスケジューラーが実行されます。
■実行・検証
このスクリプトを「r_scheduler.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。
実行してみると、今回rocketryを用いて作成したタスクが特定の時間に実行されていることが確認できました。
コメント