[TIL] Python schedule


今日、各サイクルで特定のタスクを実行するために、実行方法を探して、さまざまな方法の1つとしてスケジューリングライブラリを使用することにしました.
計画ライブラリのインストール
計画ライブラリを使用するにはpipコマンドを使用してインストールする必要があります.
pip install schedule
スケジューリングクラス
schedule.default_scheduler =
Default Scheduler object
  • プログラムのデフォルトオブジェクト.
  • schedule.jobs = []
    Default Jobs list
  • スケジューラに登録されたジョブリストの変数を保存します.
  • schedule.every(interval=1)
    Calls every on the default scheduler instance.
  • に設定されたintrevalサイクルの指定機能を呼び出す.
  • の行程はスケジュールです.every().xxx.func()として定義できます.
  • xxxxxで使用可能な指定文字は、秒、秒、分、分、時間、時間、時間、日、日、週、月、火曜日、水曜日、木曜日、金曜日、土曜日、日曜日
  • です.
  • func()で使用できる関数は、tag(*tags)、at(time str)、to(最新)、do(job func)、run()です.
  • schedule.run_pending()
    Calls run_pending on the default scheduler instance.
  • すべての計画タスクを実行します.
  • schedule.run_all(delay_seconds=0)
    Calls run_all on the default scheduler instance.
    計画実行
  • にかかわらず、すべてのタスクが一括して実行されます.
  • delay secondsを使用して、すべてのジョブバッチ時のタスク間遅延時間を設定できます.schedule.clear(tag=None)
    Calls clear on the default scheduler instance.
    「≪ジョブ|Job|emdw≫」リストから、スケジュール済のすべてのジョブを削除します.
  • タグが指定されている場合、指定されたタグのJobのみが削除されます.
  • schedule.cancel_job(job)
    Calls cancel_job on the default scheduler instance.
  • 計画タスクをキャンセルします.
  • schedule.next_run()
    Calls next_run on the default scheduler instance.
  • は、次の実行するタスクの日付を返します.
  • schedule.idle_seconds()
    Calls idle_seconds on the default scheduler instance.
  • Jobは、次の計画(next Run)の残りの時間を返す.
    正の値は残りの時間、負の値は過去の時間を表します.
  • コードの使用
    次のコードに示すようにscheduelの使い方は簡単です.
    import schedule
    import time
    
    def job():
    	print('job job')
        
    # 1분마다 job 실행
    schedule.every(1).minutes.do(job)
    
    #매일 12시마다 job 실행
    schedule.every().day.at("12:00:).do(job)
    
    while True:
    	schedule.run_pending()
        time.sleep(1)
    振り返る
    各サイクルで関数を実行する方法は分かりませんが、今日はscheduleが使用できることに気づきました.登録後は思ったより簡単に使えます.
    スケジュールを知らない人が見てもコードが理解できます.