ホームページ > バックエンド開発 > Python チュートリアル > Python で Cron のようなスケジュールを作成するにはどうすればよいですか?

Python で Cron のようなスケジュールを作成するにはどうすればよいですか?

DDD
リリース: 2024-12-13 22:29:12
オリジナル
714 人が閲覧しました

How Can I Create Cron-Like Scheduling in Python?

Python を使用した Cron のようなスケジューリング

柔軟な式に基づいてタスクをスケジュールする必要性は、さまざまな状況で発生します。 cron は多くの環境でこの目的を果たしますが、普遍的に利用可能または実現可能ではない可能性があります。このような場合、Python には、独自の cron のようなスケジューラを作成するためのオプションがいくつか用意されています。

スケジュール ライブラリを使用した軽量アプローチ

軽量で純粋な Python ベースのソリューションが必要な場合schedule ライブラリは、シンプルで表現力豊かなインターフェイスを提供します。 cron のような式を使用してタスクのスケジュールを設定できます。

import schedule
import time

def job():
    print("I'm working...")

schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)

while 1:
    schedule.run_pending()
    time.sleep(1)
ログイン後にコピー

この例では、job() 関数が一定の間隔で実行されます。式を変更して、平日の午前 9 時から午後 5 時までの 2 時間ごとなど、複雑なスケジュールを定義できます。

代替アプローチ

スケジュール ライブラリが特定の要件を満たしている場合は、次の代替案を検討してくださいアプローチ:

  • apscheduler: ローカル スレッドや Celery を含む複数のバックエンドをサポートする、より包括的なスケジューリング ライブラリ。
  • crontab: crontab コマンドをエミュレートし、シェルの直接スケジュールを可能にする Python パッケージコマンド。
  • celery-beat: Celery 分散タスク キューと統合されるスケジューラ。

独自のスケジューラを定義する場合は、次のことを行う必要があることに注意してください。メインプロセスのブロックを避けるために、Python 関数の起動を別のスレッドで処理します。

以上がPython で Cron のようなスケジュールを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート